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

Selezione dei dati della tabella con le istruzioni PDO

Stai facendo troppo in realtà:

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

La linea problematica è:

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

Verificare con http://php.net/pdo.query , il parametro è una stringa, in realtà la stringa SQL che usi già sopra, non il valore del risultato di un PDO::prepare() chiama.

Per la tua semplice domanda puoi semplicemente fare:

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

Oppure se ti piace preparare:

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

Il secondo è un po' standard se vuoi inserire variabili nella query, ecco perché lo prepari.

Il prossimo problema riguarda il foreach riga:

foreach($result as $row);

Stai terminando il ciclo immediatamente a causa del punto e virgola ; alla fine. Rimuovi quel punto e virgola in modo che il seguente blocco di codice tra parentesi angolari diventi il ​​corpo del ciclo foreach.