Maison > Article > développement back-end > Pourquoi est-ce que je reçois « Appel à la fonction membre préparer() sur un non-objet » dans PDO ?
Appel à la fonction membre préparer() sur un non-objet dans PDO
Cette question tourne autour d'une erreur rencontrée lors de l'utilisation de l'extension PDO pour PHP. L'erreur suggère que la méthode prepare() a été invoquée sur un non-objet.
Cause possible
La cause principale de cette erreur réside dans la variable $pdo non définie . Il est essentiel de s'assurer que $pdo est correctement défini ou passé comme argument à la fonction où la méthode prepare() est utilisée.
Solution alternative
Alternativement , vous pouvez inclure global $pdo; au début de la fonction pour accéder à la variable $pdo depuis la portée globale. Cependant, cette approche est considérée comme moins souhaitable car elle ne favorise pas la modularité du code.
Équivalent à mysql_num_rows
Puisque PHP Data Objects (PDO) est une base de données plus avancée couche d'abstraction que l'extension MySQLi, désormais obsolète, elle ne fournit pas d'équivalent direct à mysql_num_rows. Cependant, vous pouvez obtenir le nombre de lignes affectées par une requête ou récupérées par une instruction en utilisant rowCount().
Par exemple, vous pouvez modifier votre code pour récupérer le nombre de lignes affectées :
$ok = $stmt->execute(); $rowCount = $stmt->rowCount();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!