2

以下のクエリが結果セットを返さない理由をデバッグしようとしています。print_rを使用してこれをデバッグして、このSQLが何を返すかを確認しようとすると、結果セットではなくsqlステートメント自体が取得されます。誰かがこれが結果セットを返さない理由を教えてもらえますか?

編集:PHPデータオブジェクトのクエリ機能を使用しています

  $query = "select * from categories order by categoryID";

  $categories = $db->query($query);

  print_r($categories);
4

2 に答える 2

5

そのメソッドは、マニュアルに記載されているように、連想配列ではなくPDOStatementオブジェクトを返すためです。最初に、このオブジェクトから結果セットを取得する必要があります。

fetchAll()連想配列(または好みに応じて他のPDOフェッチメソッド)ですべての結果を取得するために使用できます。

print_r($categories->fetchAll());

このような問題が発生した場合は、常にマニュアルを読むことをお勧めします。

于 2012-11-16T11:40:17.607 に答える
0
$sql = "select * from categories order by categoryID";

$query = $db->query($sql);

$categories = $query->fetchAll();

echo "<pre>";
print_r($categories);
echo "</pre>";
于 2012-11-16T11:41:49.127 に答える