Maison > Article > développement back-end > Avertissement PHP : mysql_num_rows() attend une solution de paramètre
PHP est un langage de script open source largement utilisé pour le développement Web, où de nombreuses applications Web (telles que WordPress) s'appuient sur la base de données MySQL pour stocker et récupérer des données. Cependant, lors de l'utilisation de la fonction mysql_num_rows(), l'avertissement suivant apparaît parfois :
PHP Attention : mysql_num_rows() s'attend à ce que le paramètre 1 soit une ressource, booléen donné dans ... #Dans cet article, nous allons discutez des causes de ce problème et de la manière de le résoudre.
Qu'est-ce que la fonction mysql_num_rows() ? La fonction
mysql_num_rows() est utilisée pour obtenir le nombre de lignes récupérées à partir de la requête MySQL. Il accepte une ressource de jeu de résultats en tant que paramètre et renvoie le nombre de lignes ou false si une erreur s'est produite. Voici un exemple :
$result = mysql_query("SELECT * FROM mytable");
$num_rows = mysql_num_rows($result);echo "Rows: ".$ num_rows;
Cela renverra le nombre de lignes récupérées de la table mytable. Cependant, si le jeu de résultats n'est pas une ressource, un avertissement apparaîtra :
PHP Attention : mysql_num_rows() s'attend à ce que le paramètre 1 soit une ressource, booléen donné dans ...
#🎜🎜 #Pourquoi ? Un avertissement « booléen donné » apparaît ? Ce problème est généralement causé par un échec de requête SQL. Lors de l'utilisation de la fonction mysql_query(), elle peut renvoyer false, indiquant que la requête a échoué. Si nous passons ce résultat en paramètre à la fonction mysql_num_rows(), il sera interprété comme une valeur booléenne au lieu de la ressource de jeu de résultats attendue. Par conséquent, l'avertissement "Avertissement PHP : mysql_num_rows() s'attend à ce que le paramètre 1 soit une ressource, un booléen donné dans..." apparaît sur la console. Comment résoudre l'avertissement "booléen donné" ? Afin de résoudre ce problème, nous devons nous assurer que la requête SQL réussit avant d'utiliser la fonction mysql_num_rows(). Nous pouvons vérifier le résultat de la fonction mysql_query() comme ceci : $result = mysql_query("SELECT * FROM mytable");if($result){
$num_rows = mysql_num_rows($result); echo "Rows: ".$num_rows;
}
Cela garantira que la fonction mysql_num_rows() n'est utilisée qu'après que la requête a été exécuté avec succès.
if (!$conn) {
die("Connexion impossible : ".mysqli_error($conn));}
$result = mysqli_query($conn,"SELECT * FROM matable");
if($result){
echo "Lignes : ".$num_rows;
}#🎜🎜 #
De plus, PDO fournit également une méthode d'accès à la base de données facile à utiliser et sécurisée :
$conn = new PDO("mysql:host=localhost;dbname=myDB"," nom d'utilisateur "," mot de passe ");
if($result){
$num_rows = $result- > ;rowCount(); echo "Lignes : ".$num_rows;
}
Summary
"booléen donné" apparaît lors de l'utilisation de mysql_num_rows () fonction "L'avertissement est généralement provoqué par un échec de requête SQL. Afin de résoudre ce problème, nous devons nous assurer que la requête réussit avant d'utiliser la fonction mysql_num_rows(), ou d'utiliser une autre méthode d'accès à la base de données MySQL, telle que l'extension MySQLi ou PDO.
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!