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

  1. 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
  2. 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
    1. silver9195
       
      je test et je te dis ca !
      0
  3. 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
    1. 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
  4. Utilisateur anonyme
     
    ajoute echo $q; pour voir quelle est exactement ta requête. Il y a des chances que $wref soit vide
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
    1. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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