Probleme Warning: mysql_fetch_array() expects parameter 1 to be

Fermé
silver9195 - 6 mars 2014 à 11:46
 silver9195 - 6 mars 2014 à 15:46
Bonjour,

Je ne connais pas le code et lors d'une action sur mon serveur j'ai une erreur :

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /web/csasoftwargame/Forum/GameEngine/Database/db_MYSQL.php on line 685

Voici la ligne en question :

function getCoor($wref) {
$q = "SELECT x,y FROM " . TB_PREFIX . "wdata where id = $wref";
$result = mysql_query($q, $this->connection);
return mysql_fetch_array($result) or exit(mysql_error());

}

Merci de votre aide


12 réponses

Utilisateur anonyme
6 mars 2014 à 15:39
Je n'en veux pas. Je ne veux pas prendre en charge la totalité d'un script probablement assez complexe.
C'est à toi de trouver dans ton code où cette fonction est appelée, et pourquoi cet appel avec ce paramètre vide.
Ou tu peux poster une autre question sur le forum, en précisant que tu es arrivé à la conclusion que cette fonction était appelée avec un paramètre vide. Peut-être que quelqu'un de plus disponible (ou plus courageux) que moi pourra te répondre.
Bonne chance
1
Utilisateur anonyme
6 mars 2014 à 12:20
Bonjour

C'est que ta requête se passe mal. Pour savoir pourquoi, teste aussi l'erreur sur cette requête ;

$result = mysql_query($q, $this->connection) or exit(mysql_error());
0
je test et je te dis ca !
0
Voila exactement :
"Raid to You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1"
0
et après plein d'erreurs :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /web/csasoftwargame/Forum/GameEngine/Database/db_MYSQL.php on line 3420

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /web/csasoftwargame/Forum/GameEngine/Database/db_MYSQL.php on line 643

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /web/csasoftwargame/Forum/GameEngine/Database/db_MYSQL.php on line 668

Warning: Invalid argument supplied for foreach() in /web/csasoftwargame/Forum/GameEngine/Database/db_MYSQL.php on line 3693

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /web/csasoftwargame/Forum/GameEngine/Database/db_MYSQL.php on line 601

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /web/csasoftwargame/Forum/GameEngine/Database/db_MYSQL.php on line 601
0
Utilisateur anonyme
6 mars 2014 à 14:06
ajoute echo $q; pour voir quelle est exactement ta requête. Il y a des chances que $wref soit vide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SELECT x,y FROM s1_wdata where id = 23813SELECT x,y FROM s1_wdata where id = 23813

et

SELECT x,y FROM s1_wdata where id = 23813SELECT x,y FROM s1_wdata where id = 24014
0
Voici ce qu'il y a dans la table wdata id =23813 :
fieldtype : 3
oasistype : 0
x : -6
y : -18
occupied: 1
image : t2
0
Utilisateur anonyme
6 mars 2014 à 14:42
Tu n'as plus le message d'erreur du or exit(mysql_error()); ? il fallait le laisser. sinon on tombe sur de nombreuses autres erreurs et on mélange les problèmes. Réglons d'abord la première.
0
si je l'ai encore voila ce qu'il y a marqué au lieu de l'autre :
"Raid to You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1"

et le résultat du echo :
SELECT x,y FROM s1_wdata where id = 23813SELECT x,y FROM s1_wdata where id = 23813
0
Utilisateur anonyme
6 mars 2014 à 15:03
Dans quel ordre sont ces messages à l'écran ?
Et à quel endroit as-tu mis le echo $q ? Avant le $result = mysql_query(.., j'espère.
0
Donc voici la requête qui ne marche pas :
"SELECT x,y FROM s1_wdata where id = 24014?SELECT x,y FROM s1_wdata where id = 23813 "

Et voici le resultat du echo :

SELECT x,y FROM s1_wdata where id = You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
0
Utilisateur anonyme
6 mars 2014 à 15:20
Donc en fait la requête marche bien 2 fois, et la troisième fois il n'y a rien dans $wref.
Il faut remonter à l'endroit d'où ta fonction getCoor est appelée et voir pourquoi le paramètre est vide, mais ça on ne peut pas le diagnostiquer sans une vue d'ensemble du programme.
0
tu veux quoi comme vue d'ensemble ?
0
ok merci de ton aide deja !
0