2010-05-16 9 views
1

J'ai créé une liste de répertoires et j'ai rencontré ce problème.php mysql_query renvoie la valeur vide

Quelle est la valeur mysql_query($query1) de retour s'il n'y a pas de valeur?

Mon script a reçu ce message de $result, serait-il correct de passer array(0)?

Warning: mysql_fetch_array($result) expects parameter 1 to be resource, array given in 
+1

Publiez du code et terminez votre question – Galen

+0

duplication possible de [Warning: mysql_fetch_ * s'attend à ce que le paramètre 1 soit resource, boolean given error] (http://stackoverflow.com/questions/11674312/warning-mysql-fetch-expects -parameter-1-to-be-resource-boolean-given-error) –

Répondre

3

essayer:

mysql_query($query1) or die(mysql_error()); 
+1

bien sûr, c'est un moyen approximatif de vérifier le résultat de mysql_query. Mieux vaut montrer une erreur significative afin que l'utilisateur sache ce qui s'est passé. De plus, le problème n'est pas que mysql_query échoue (par exemple si la requête n'est pas bien formée) mais mysql_fetch_array échoue parce qu'il n'y a pas de résultats. Dans ce cas, 'mysql_num_rows' fait le travail, comme @ nc3b l'a signalé – nico

+0

@nico affichant réellement les résultats d'une erreur mysql est une faille de fuite d'information car elle permet aux pirates de mieux identifier les failles d'injection SQL dans votre système. Cependant je l'ai posté parce que c'est facile et précis. – rook

+0

Rook: Désolé, vous avez peut-être mal interprété ce que je disais. Je suggérais: 'if (! Mysql_query ($ query)) echo" Doh !!! Je ne pouvais pas lire la DB !! Cliquez ici pour retourner quelque part "' :) Je n'aime tout simplement pas mettre 'die();' comme ça parce que l'utilisateur sera coincé avec une page vierge ne sachant pas ce qui s'est passé – nico

2

php.net

Pour SELECT, SHOW, DESCRIBE, EXPLAIN et d'autres déclarations de retour resultset, mysql_query() retourne une ressource en cas de succès, ou FALSE sur erreur

Si cela ne renvoie pas FALSE, vous pouvez utiliser mysql_num_rows pour connaître le nombre de lignes renvoyées.

Questions connexes