sql >> Database >  >> RDS >> Mysql

Tabelgegevens selecteren met PDO-statements

Je doet eigenlijk te veel:

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

De problematische regel is:

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

Neem contact op met http://php.net/pdo.query , de parameter is een string, eigenlijk de SQL-string die je hierboven al gebruikt, niet de resultaatwaarde van een PDO::prepare() bellen.

Voor uw eenvoudige vraag kunt u gewoon doen:

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

Of als je je wilt voorbereiden:

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

Het laatste is wat standaard als je variabelen in de query wilt invoegen, daarom bereid je het voor.

Het volgende probleem is met de foreach regel:

foreach($result as $row);

U beëindigt de lus onmiddellijk vanwege de puntkomma ; aan het einde. Verwijder die puntkomma zodat het volgende codeblok tussen haakjes het hoofdgedeelte van de foreach-lus wordt.



  1. Oracle:een tabelkolom bijwerken met ROWNUM in combinatie met ORDER BY-clausule

  2. Een varchar vol met komma's gescheiden waarden doorgeven aan een SQL Server IN-functie

  3. Hoe alle standaardbeperkingen in SQL Server-database te laten vallen - SQL Server / TSQL-zelfstudie, deel 94

  4. Wordt de dm_mysql_adapter gem van Datamapper ondersteund op Windows?