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 :
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é.
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