PDO Fetch-Array wie MySQLi

Ich weiß, wie zu Holen ein PDO array, aber wie bekomme ich Daten von ihm wie Sie mit MySQLi ist fetch_array?

Beispielsweise

MySQLi

$query = $mysqli->query("SELECT * FROM `foo` WHERE `ID`='1'");
$array = $query->fetch_array();

Immer ein Ergebnis

echo $array['bar'];

Wie würden Sie tun dies mit PDO? Ich verstehe, dass Sie dies tun können:

PDO

$query = $pdo->prepare("SELECT * FROM `foo` WHERE `ID`='1'");
$query->execute();
$result = $query->fetchAll();

Immer das Ergebnis

echo $result['bar'];

Nicht wieder das gleiche wie MySQLi hat

Mache ich etwas falsch, und gibt es eine Möglichkeit, dies zu tun?

  • Lesen fetch_style parameter php.net/manual/en/pdostatement.fetch.php PDO::FETCH_ASSOC gibt ein array indiziert durch die Spalte name zurückgegeben, die in Ihrer Ergebnismenge
  • Sie müssen verstehen, dass, während die fetch_array() iteriert über die gesamte Ergebnismenge und gibt eine Zeile in einer Zeit, fetchAll() gibt die ganze Ergebnismenge. Tun Sie dies: $query->fetch(PDO::FETCH_ASSOC)
  • Danke für die Anleitung.
  • Etwas, das ich erinnere mich aus meiner PHP die Tage, die Sie nützlich finden können, ist mit print_r() - und/oder var_dump() göttliche, die oft schlecht dokumentiert Datenstrukturen PHP an Ihnen wirft.
  • Nichts ist schlecht dokumentiert. Der erste Kommentator ist der link verweist auf eine korrekte Dokumentation.
  • In diesem Fall nicht, Nein.

Schreibe einen Kommentar