Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que je reçois une erreur « Appel à une fonction membre préparer() sur un non-objet » dans mon code PDO ?

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

Susan Sarandon
Susan Sarandonoriginal
2024-11-14 16:04:02808parcourir

Why Am I Getting a

pdo - Appel à une fonction membre préparer() sur un non-objet

Lors de la tentative de validation de la saisie utilisateur à l'aide de PDO, une erreur est rencontrée indiquant que la préparation () est appelée sur un non-objet. Cette erreur se produit spécifiquement à la ligne 42 du code fourni.

Pour résoudre ce problème, inspectez le code pour vous assurer que l'objet $pdo est correctement défini et accessible dans la fonction repetirDados(). L'erreur suggère que $pdo n'est pas disponible dans la portée actuelle.

Confirmez si $pdo est passé comme argument à la fonction ou s'il est défini comme variable globale. Si aucun de ces scénarios n'est vrai, vous pouvez définir $pdo dans l'espace de noms global et utiliser le mot-clé global dans la fonction pour y accéder :

global $pdo;

Vous pouvez également transmettre $pdo comme argument au fonction repetirDados(), en s'assurant qu'elle est disponible dans le cadre de la fonction.

Équivalent à mysql_num_rows

L'équivalent de mysql_num_rows dans PDO est rowCount(). Il renvoie le nombre de lignes affectées par l'exécution de la requête la plus récente. Dans ce cas, vous pouvez utiliser rowCount() pour vérifier si des lignes ont été renvoyées par la requête :

if ($stmt->rowCount() == 0) {
    // No results found
} else {
    // Results found
}

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