"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi `mysqli_query()` renvoie-t-il « Avertissement : mysqli_query() s'attend à ce que le paramètre 1 soit MySQLi, null étant donné » ?

Pourquoi `mysqli_query()` renvoie-t-il « Avertissement : mysqli_query() s'attend à ce que le paramètre 1 soit MySQLi, null étant donné » ?

Publié le 2024-12-22
Parcourir:109

Why Does `mysqli_query()` Return

Comprendre "Avertissement : mysqli_query() s'attend à ce que le paramètre 1 soit MySQLi, null indiqué dans" Erreur

Dans votre tentative de création d'un fichier personnalisé CMS, vous avez rencontré le message d'erreur suivant :

"Avertissement : mysqli_query() s'attend à ce que le paramètre 1 soit MySQLi, null étant donné in"

Cause de l'erreur

Cette erreur indique que la fonction mysqli_query(), qui exécute les requêtes SQL, attend un objet MySQLi comme premier paramètre. Cependant, dans votre fonction getPosts(), vous transmettez une valeur nulle au lieu d'un objet MySQLi.

Solution

La solution à ce problème consiste à garantir que le L'objet $con MySQLi entre dans le cadre de la fonction getPosts(). Dans votre code, $con est défini dans la portée globale, mais il n'est pas accessible dans la fonction.

Passer l'objet MySQLi en tant que dépendance

Une façon de L'adresse consiste à transmettre l'objet MySQLi à la fonction getPosts() en tant que dépendance. Voici comment procéder :

function getPosts(mysqli $con) {
    // etc
}

En faisant de l'objet MySQLi un paramètre de la fonction, vous vous assurez qu'il est disponible dans la portée de la fonction et qu'il peut être utilisé par mysqli_query().

Recommandations supplémentaires

En plus de résoudre le problème de portée, envisagez de mettre en œuvre les recommandations suivantes :

  • Gérer les erreurs et la connexion échecs en utilisant mysqli_report() pour définir les options de rapport d'erreurs.
  • Arrêtez l'exécution du script si une erreur de connexion ou une erreur de requête se produit à l'aide de mysqli::error().

Voici un exemple sur la façon de mettre en œuvre ces recommandations :

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions
$con=mysqli_connect("localhost","xxxx","xxxx","xxxxx");

if (!$con) {
    throw new Exception("Failed to connect to MySQL: " . mysqli_connect_error());
}

getPosts($con);

En mettant en œuvre ces recommandations, vous pouvez garantir la robustesse et la fiabilité de votre CMS personnalisé.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3