Maison > développement back-end > tutoriel php > 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é » ?

DDD
Libérer: 2024-12-18 17:12:11
original
583 Les gens l'ont consulté

Why Does `mysqli_query()` Return

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
}
Copier après la connexion

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 :

  • Gérez les erreurs et les échecs de connexion 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 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);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal