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 ?
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.
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!