J'essaie d'apprendre à utiliser PDO au lieu de MySQLi pour l'accès à la base de données et j'ai du mal à sélectionner les données de la base de données. Je veux utiliser:
$STH = $DBH->query('SELECT * FROM ratings WHERE title=$title ORDER BY date ASC');
$STH->setFetchMode(PDO::FETCH_ASSOC);
while($row = $STH->fetch()) {
echo $row['title'];
}
mais je reçois cette erreur:
Fatal error: Call to a member function setFetchMode() on a non-object in /home/owencont/public_html/owenstest.com/ratemystudents/index.php on line 6
Si je prends la déclaration où il fonctionne très bien. Comment puis-je sélectionner une ligne en fonction de si sa valeur correspond à une variable?
Merci,
Owen
Cela ne devrait-il pas fonctionner alors? \t $ title = 'le titre'; \t \t $ title = $ dbh- quote> (titre de $); \t $ STH = $ DBH-> prepare ("SELECT * FROM classements WHERE titre =? ORDER BY date ASC"); \t $ STH-> execute (array ($ title)); \t \t while ($ row = $ sth-> fetch (AOP :: FETCH_ASSOC)) { \t \t echo $ row [ 'title']; \t \t} –
@Owen: Non, faire que l'un des deux. Soit -> en citant, ou '? 'En liant les paramètres avec -> prepare et -> execute. – mario
Merci pour votre aide, votre méthode semble être la meilleure et la plus sûre. –