Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Selecionando dados de tabela com instruções PDO


Você está fazendo muito, na verdade:
$query = $dbh->prepare("SELECT * FROM students");
$query->execute();
$result = $dbh->query($query);

A linha problemática é:
$result = $dbh->query($query);

Verifique com http://php.net/pdo.query , o parâmetro é uma string, na verdade a string SQL que você já usou acima, não o valor do resultado de um PDO::prepare() ligar.

Para sua consulta simples, você pode apenas fazer:
$result = $dbh->query("SELECT * FROM students");

Ou se você gosta de preparar:
$query = $dbh->prepare("SELECT * FROM students");
$query->execute();
$result = $query;

O mais tarde é um clichê se você quiser inserir variáveis ​​na consulta, é por isso que você a prepara.

O próximo problema é com o foreach linha:
foreach($result as $row);

Você está terminando o loop imediatamente por causa do ponto e vírgula ; no final. Remova esse ponto e vírgula para que o seguinte bloco de código entre colchetes angulares se torne o corpo do loop foreach.