Maison >développement back-end >tutoriel php >Pourquoi `mysqli_query()` renvoie-t-il une erreur « Avertissement : mysqli_query() s'attend à ce que le paramètre 1 soit mysqli, null étant donné » ?
Avertissement : Comprendre l'erreur du paramètre mysqli_query()
Lors de l'utilisation de mysqli_query() en PHP, il est crucial de s'assurer que le premier paramètre est un objet mysqli valide représentant une connexion à une base de données. Cependant, si vous rencontrez une erreur indiquant "Attention : mysqli_query() s'attend à ce que le paramètre 1 soit mysqli, null donné", cela indique que le premier paramètre passé à la fonction n'est pas un objet mysqli.
Examen du code
Dans votre code fourni, vous avez une fonction appelée getPosts(). Cette fonction tente d'interroger une table de base de données nommée Blog. Cependant, dans l'appel mysqli_query() dans getPosts(), le premier paramètre n'est pas explicitement passé. Par conséquent, PHP prend la valeur de $con, qui est déclarée en dehors de la fonction, comme premier paramètre. Mais $con n'est pas dans la portée de getPosts() et renvoie donc null.
Résoudre l'erreur
Pour résoudre ce problème, vous avez deux options :
Exemple :
function getPosts(mysqli $con) { // ... same code as before } // Connect to the database $con = mysqli_connect("localhost", "xxxx", "xxxx", "xxxxx"); // Call getPosts() with the connection as a parameter getPosts($con);
Recommandations supplémentaires
Il est également conseillé de gérer les erreurs potentielles pouvant survenir lors des opérations de base de données. Vous pouvez activer explicitement le rapport d'erreurs comme suit :
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions
Cela générera des exceptions si des erreurs se produisent, vous permettant de prendre les mesures appropriées dans votre code.
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!