Maison >développement back-end >tutoriel php >Pourquoi ma fonction `mysqli_query()` reçoit-elle une valeur nulle au lieu d'un objet de connexion MySQLi ?
Comprendre "Attention : mysqli_query() s'attend à ce que le paramètre 1 soit mysqli, null donné dans"
Dans votre quête pour créer un CMS personnalisé , vous avez peut-être rencontré le message d'erreur redouté : "Attention : mysqli_query() s'attend à ce que le paramètre 1 soit MySQLi, null étant donné dans." Ce problème frustrant résulte souvent d'un malentendu concernant la portée des variables dans les fonctions PHP.
Cause de l'erreur
L'erreur suggère que votre fonction getPosts() tente pour accéder à la variable $con, qui stocke votre objet de connexion MySQLi, mais elle n'est pas accessible dans le cadre de cette fonction. En effet, $con est défini en dehors de la fonction getPosts().
Solution : transmettre la connexion en tant que dépendance
Pour résoudre ce problème, vous devez transmettre le objet de connexion à la fonction getPosts() en tant que dépendance. Ce faisant, la fonction peut accéder à la connexion et effectuer les opérations de base de données nécessaires.
function getPosts(mysqli $con) { // Code to query the database using $con }
Prévenir d'autres erreurs
Pour minimiser les problèmes potentiels, envisagez d'utiliser ce qui suit code pour gérer les erreurs de connexion et lever des exceptions :
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions $con = mysqli_connect("localhost", "xxxx", "xxxx", "xxxxx"); getPosts($con);
Supplémentaire Conseils
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!