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 ?

Pourquoi est-ce que je reçois « Appel à la fonction membre préparer() sur un non-objet » dans PDO ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-13 14:07:02457parcourir

Why Am I Getting

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn