sql >> Database teknologi >  >> RDS >> Mysql

Valg af tabeldata med PDO-udsagn

Du gør faktisk for meget:

$query = $dbh->prepare("SELECT * FROM students");
$query->execute();
$result = $dbh->query($query);

Den problematiske linje er:

$result = $dbh->query($query);

Tjek med http://php.net/pdo.query , parameteren er en streng, faktisk den SQL-streng, du allerede bruger ovenfor, ikke resultatværdien af ​​en PDO::prepare() ring.

For din simple forespørgsel kan du blot gøre:

$result = $dbh->query("SELECT * FROM students");

Eller hvis du kan lide at forberede:

$query = $dbh->prepare("SELECT * FROM students");
$query->execute();
$result = $query;

Det senere er noget kedelsten, hvis du vil indsætte variabler i forespørgslen, det er derfor, du forbereder det.

Det næste problem er med foreach linje:

foreach($result as $row);

Du afslutter løkken med det samme på grund af semikolonet ; i slutningen. Fjern det semikolon, så den følgende kodeblok med vinkelparentes bliver kroppen af ​​foreach-løkken.



  1. Sådan fungerer LEFT() i MariaDB

  2. Mysql for at vælge månedsvis registrering, selvom data ikke eksisterer

  3. Slut med eliminering:Når SQL Server fjerner unødvendige tabeller

  4. find det N-te største element i SQL