Comprendre "Avertissement : mysqli_query() s'attend à ce que le paramètre 1 soit MySQLi, null donné 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 donné dans"
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 est de 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 cadrage, envisagez de mettre en œuvre les éléments suivants recommandations :
Voici un exemple de la façon de les mettre en œuvre 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é.
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!