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

Pourquoi est-ce que j'obtiens l'erreur « Appel à une fonction membre préparer() sur un non-objet » dans mon code PDO ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-12 08:54:02673parcourir

Why Am I Getting

Erreur PDO lors de la préparation de l'exécution de la fonction

Le code fourni tente de préparer une requête SQL à l'aide de PDO, mais rencontre l'erreur « Appel à un fonction membre prepare() sur un non-objet." Cette erreur indique que l'objet $pdo n'est pas initialisé ou accessible dans la fonction repetirDados.

Cause possible

La cause la plus probable de cette erreur est que le $pdo L'objet n'est pas défini dans la fonction. Il doit être soit passé en argument, soit déclaré globalement et rendu accessible dans la fonction.

Solution

Pour résoudre le problème, suivez ces étapes :

  1. Initialiser $pdo : Assurez-vous que l'objet $pdo est initialisé avant d'appeler la fonction de préparation. Vous pouvez également faire de $pdo une variable globale en ajoutant global $pdo ; au début de la fonction.
  2. Exemple :

    function repetirDados($email, $pdo) { // Pass $pdo as an argument
        // ... (rest of the code)
    }

Équivalent à mysql_num_rows

Pour PDO, l'équivalent de mysql_num_rows est rowCount. Cela renvoie le nombre de lignes affectées par la dernière instruction SQL.

$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