Probleme Warning: mysql_fetch_array() expects parameter 1 to be

silver9195 -  
 silver9195 -
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
 
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
 
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
silver9195
 
je test et je te dis ca !
0
silver9195
 
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
silver9195
 
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
 
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
silver9195
 
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
silver9195
 
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
 
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
silver9195
 
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
 
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
silver9195
 
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
 
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
silver9195
 
tu veux quoi comme vue d'ensemble ?
0
silver9195
 
ok merci de ton aide deja !
0