sql >> Databasteknik >  >> RDS >> Mysql

Välja tabelldata med PDO-satser

Du gör för mycket faktiskt:

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

Den problematiska raden är:

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

Kolla med http://php.net/pdo.query , parametern är en sträng, faktiskt SQL-strängen du redan använder ovan, inte resultatvärdet för en PDO::prepare() ring.

För din enkla fråga kan du bara göra:

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

Eller om du gillar att förbereda:

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

Det senare är en bra idé om du vill infoga variabler i frågan, det är därför du förbereder den.

Nästa problem är med foreach rad:

foreach($result as $row);

Du avslutar slingan omedelbart på grund av semikolonet ; i slutet. Ta bort semikolonet så att följande kodblock med vinkelparenteser blir kroppen av foreach-loopen.



  1. Hur man ändrar mysql databaskatalog på WAMP

  2. MySQL groupwise MAX() returnerar oväntade resultat

  3. Ett annat sätt att se automatiska uppdateringar av statistik

  4. ORA-28001:Lösenordet har upphört att gälla