Maison > développement back-end > tutoriel php > Pourquoi `mysqli_query()` renvoie-t-il « s'attend à ce que le paramètre 1 soit mysqli, null étant donné » ?

Pourquoi `mysqli_query()` renvoie-t-il « s'attend à ce que le paramètre 1 soit mysqli, null étant donné » ?

Linda Hamilton
Libérer: 2024-12-15 00:58:17
original
338 Les gens l'ont consulté

Why Does `mysqli_query()` Return

Avertissement : mysqli_query() s'attend à ce que le paramètre 1 soit mysqli, null étant donné

Cette erreur survient lors de la tentative d'exécution d'une requête MySQL à l'aide de mysqli_query (), mais le paramètre fourni pour l'objet de connexion n'est pas un objet MySQLi valide. La fonction mysqli_query() s'attend à ce que le premier paramètre soit une instance de la classe mysqli.

Dans l'extrait de code fourni, l'erreur est probablement due à la raison suivante :

Problème de portée

L'objet de connexion mysqli $con, qui est déclaré dans la portée globale, n'est pas accessible dans le fonction getPosts(). Cela entraîne la transmission de la valeur nulle comme premier paramètre à mysqli_query(), conduisant à l'erreur.

Solution :

Pour résoudre ce problème, vous pouvez explicitement passez l'objet de connexion à la fonction getPosts() en tant que paramètre. Voici le code modifié :

function getPosts(mysqli $con) {
    $query = mysqli_query($con, "SELECT * FROM Blog");
    // ... Rest of the code remains the same
}
Copier après la connexion

Maintenant, lorsque vous appelez la fonction getPosts(), assurez-vous de passer l'objet de connexion en argument.

De plus, c'est une bonne pratique d'activer rapport d'erreurs et gérer les problèmes de connexion à la base de données avec élégance. Voici un exemple :

// Enable error reporting
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

// Establish database connection
$con = mysqli_connect("localhost", "xxxx", "xxxx", "xxxxx");

// Check connection status
if (!$con) {
    throw new Exception('Failed to connect to MySQL: ' . mysqli_connect_error());
}

// Call the getPosts() function with the connection object
getPosts($con);
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal