sql >> Base de Datos >  >> RDS >> Mysql

Selección de datos de tabla con sentencias PDO

Estás haciendo demasiado en realidad:

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

La línea problemática es:

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

Verifique con http://php.net/pdo.query , el parámetro es una cadena, en realidad la cadena SQL que ya usa arriba, no el valor del resultado de un PDO::prepare() llamar.

Para su consulta simple, simplemente puede hacer:

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

O si te gusta preparar:

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

El último es un modelo si desea insertar variables en la consulta, es por eso que lo prepara.

El siguiente problema es con el foreach línea:

foreach($result as $row);

Está terminando el ciclo inmediatamente debido al punto y coma ; al final. Elimine ese punto y coma para que el siguiente bloque de código entre paréntesis angulares se convierta en el cuerpo del bucle foreach.