1

PDO を使用して mysql テーブルからレコードを取得しています。データは json_encode() でエンコードされ、API の Slim フレームワークを介して出力されます。

$app->get('/get/profile/:id_user', function ($id_user) use ($app) {
    $sql = 'SELECT * FROM user WHERE id_user = :id_user';
    try {
        $stmt = cnn()->prepare($sql);
        $stmt->bindParam(':id_user', $id_user, PDO::PARAM_INT);
        $stmt->execute();
        $data = $stmt->fetch(PDO::FETCH_ASSOC); // THIS!!!
        if($stmt->rowCount()) {
            $app->etag(md5(serialize($data)));
            echo json_encode($data,JSON_PRETTY_PRINT);
        } else {
            $app->notfound();
        }
    } catch(PDOException $e) {
        echo $e->getMessage();
    }
});

使うべきか

$data = $stmt->fetch(PDO::FETCH_ASSOC);

また

$data = $stmt->fetchObject();

? データをオブジェクトとして取得する直接的な利点はありますか? いくつかの例を読みましたが、理由は説明されていません。結果のデータの唯一の使用法は、JSON 形式で出力することです。ありがとう!

4

1 に答える 1