Maison  >  Article  >  développement back-end  >  Avertissement PHP : la solution au paramètre mysql_fetch_array() attend

Avertissement PHP : la solution au paramètre mysql_fetch_array() attend

WBOY
WBOYoriginal
2023-06-22 09:41:381106parcourir

Avertissement PHP : mysql_fetch_array() attend le paramètre - Raisons et solutions des messages d'avertissement

En PHP, lorsque nous utilisons la fonction mysql_fetch_array(), de tels messages d'avertissement apparaissent parfois :PHP Avertissement : mysql_fetch_array () attend le paramètre. Ce message d’avertissement est très courant, mais il est en réalité facile à résoudre. Dans cet article, j'analyserai les raisons de ce message d'avertissement et proposerai les solutions correspondantes.

Avertissement PHP : mysql_fetch_array() attend un paramètre - la raison du message d'avertissement

Lors de l'utilisation de la fonction mysql_fetch_array(), nous devons passer un paramètre - l'identifiant de ressource de l'identifiant du résultat de la requête. Cet identifiant de ressource est renvoyé après avoir interrogé les données à l'aide de la fonction mysql_query(). Si nous ne transmettons pas correctement cet identifiant de ressource, le message d'avertissement PHP Warning: mysql_fetch_array() attend un paramètre apparaîtra.

Ce qui suit est un exemple de code dans lequel ce message d'avertissement apparaît :

<?php  
// 连接数据库  
$link = mysql_connect('localhost', 'root', '123456') or die('Could not connect: ' . mysql_error());  
  
// 选择数据库  
mysql_select_db('test', $link) or die('Could not select database');  
  
// 执行查询  
$result = mysql_query('SELECT * FROM `user`');  
  
// 遍历结果集  
while($row = mysql_fetch_array()) {  
    // 输出每行数据  
    echo $row['username'] . "    " . $row['password'] . "
";  
}  
  
// 释放查询结果  
mysql_free_result($result);  
  
// 关闭数据库连接  
mysql_close($link);  
?>

Dans le code ci-dessus, la fonction mysql_fetch_array() ne transmet aucun paramètre, cet avertissement apparaît donc information.

Comment résoudre PHP Attention : mysql_fetch_array() attend un paramètre - message d'avertissement

La solution à ce problème est très simple, il suffit de passer la ressource de résultat de la requête dans mysql_fetch_array() function Juste l'identifiant. Dans notre exemple de code, il nous suffit de modifier l'appel de cette fonction sous la forme suivante :

while($row = mysql_fetch_array($result)) {  
    // 输出每行数据  
    echo $row['username'] . "    " . $row['password'] . "
";  
} 

Le code actuel a correctement transmis l'identifiant de la ressource, ce message d'avertissement n'apparaîtra donc plus.

De plus, il est également recommandé de ne pas utiliser les fonctions mysql_ car elles ont été marquées comme fonctions obsolètes. Au lieu de cela, il existe des fonctions mysqli_ et des PDO (PHP Data Objects).

Summary

PHP Avertissement : mysql_fetch_array() attend un paramètre - Le message d'avertissement est dû au fait de ne pas transmettre correctement le paramètre de la fonction mysql_fetch_array() - l'identifiant de ressource de la requête résultat. . Pour résoudre ce problème, transmettez simplement cet identifiant de ressource dans l’appel de fonction. Dans le même temps, il est également recommandé d'utiliser des méthodes d'accès aux bases de données plus modernes et sécurisées, telles que les fonctions mysqli_* et 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!

Déclaration:
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