Maison > développement back-end > tutoriel php > Pourquoi est-ce que je reçois une erreur « Appel à la méthode non définie mysqli_stmt::get_result() » ?

Pourquoi est-ce que je reçois une erreur « Appel à la méthode non définie mysqli_stmt::get_result() » ?

Mary-Kate Olsen
Libérer: 2024-12-26 10:42:15
original
705 Les gens l'ont consulté

Why am I getting a

La méthode "mysqli_stmt::get_result()" appelle un problème non défini

En essayant d'utiliser la méthode "get_result()" de "mysqli_stmt" Lors de l'obtention des résultats de la requête dans l'objet, "Appeler la méthode non définie" apparaît. mysqli_stmt::get_result()" erreur.

Cause du problème :

L'erreur indique que la méthode "get_result()" n'est pas disponible pour l'objet "mysqli_stmt". Cela peut être dû à l'absence du pilote "mysqlnd".

Solution :

  1. Installer le pilote mysqlnd :

    Ce pilote est utile pour utiliser " get_result ()" est cruciale. Veuillez vous assurer qu'il est installé sur votre espace Web.

  2. Utilisez bind_result() et fetch() :

    Si vous ne parvenez pas à installer le pilote "mysqlnd", vous pouvez utiliser "bind_result() » et « fetch() » pour obtenir les résultats de la requête. Ces méthodes ne sont pas affectées par le pilote "mysqlnd". L'exemple de code est le suivant :

$stmt->bind_result($emailVerified, $blocked);
$stmt->fetch();
Copier après la connexion
  1. Vérifiez mysqli_stmt->execute() Valeur de retour :

    Assurez-vous que la méthode "mysqli_stmt->execute()" a été exécutée avec succès. S'il renvoie "false", aucun résultat ne sera défini pour l'objet "stmt".

Exemple :

Voici le code modifié qui a résolu le problème :

include 'conn.php';
$conn = new Connection();
$query = 'SELECT EmailVerified, Blocked FROM users WHERE Email = ? AND SLA = ? AND `Password` = ?';
$stmt = $conn->mysqli->prepare($query);
$stmt->bind_param('sss', $_POST['EmailID'], $_POST['SLA'], $_POST['Password']);

if ($stmt->execute()) {
    $stmt->bind_result($emailVerified, $blocked);
    $stmt->fetch();
    // Use $emailVerified and $blocked here...
} else {
    echo "Error executing statement: " . $stmt->error;
}
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal