Page 1 sur 1

Warning: mysql_fetch_array(): supplied argument is not ....

Posté : 02 janv. 2007, 06:42
par energie13
Bonjour,

Je me retrouve confronté à l'erreur suivante :
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in XXXXXXXXXXXX/www/expertis/vehicules.php on line 37
"
Je ne vois pas trop ce qui cloche surtout que ca fonctionne en local je suis donc passé en mode debug sur le serveur j'ai le message ci dessus :

voici le code que j'utilise pour vehicules.php

Code : Tout sélectionner

<?php $table = "expertis_vehicules"; // set the level of error reporting ini_set("error_reporting", E_ALL); ini_set("display_errors","1"); // masque ou afficahe les erreurs ini_set("ignore_repeated_errors","0"); // evite la repetition des mm erreurs dans les logs // Connexion à la base MySQL mysql_connect("localhost","XXXX",""); mysql_select_db("XXXXX"); switch($q=$_GET["q"]) { case "1": // Liste des modeles $query = "SELECT DISTINCT modele FROM $table" . " WHERE marque = '".$_POST["champ"]."' ORDER BY 1"; case "2": // Liste des types if(!$query) $query = "SELECT type,id_vehicule FROM $table" . " WHERE modele = '".$_POST["champ"]."' ORDER BY 1"; echo 'var o = null;'; echo 'var s = document.forms["'.$_POST["form"].'"].elements["'.$_POST["select"].'"];'; echo 's.options.length = 0;'; if($q<2) echo 's.options[s.options.length] = new Option("Choisir","");'; $result = mysql_query($query); while($r = mysql_fetch_array($result)) echo 's.options[s.options.length] = new Option("'.$r[0].'","'.((@$r[1])?$r[1]:$r[0]).'");'; echo 'update('.$q.');'; break; default: // Liste des marques $liste_dpt = ""; $SQL = "SELECT DISTINCT marque FROM $table ORDER BY 1"; $res = mysql_query($SQL); while($val = mysql_fetch_array($res)) $liste_dpt .= "<option value=\"".$val[0]."\">".$val[0]."</option>\n"; // type d'après l'id_vehicule if($adresse["id_vehicule"]) { $SQL = "SELECT type FROM $table WHERE id_vehicule='".$adresse["id_vehicule"]."'"; $res = mysql_query($SQL); $adresse["type"] = mysql_result($res,0,0); } } @mysql_close(); ?>
Apparement le pb viendrait de
$SQL
? mais je ne vois pas ce qui cloche

Je suis un peu perdu la. Je viens de passer la nuit dessus. Ca serait vraiment sympa si qqn avait la solution.

Je vous remercie par avance

Posté : 02 janv. 2007, 06:53
par HD
à mon avis ca viendrait de $res :?
un
print_r($res);
donne quoi?

Posté : 02 janv. 2007, 07:06
par Xenon_54
Ça affichera surement FALSE;

Essaie ceci pour vérifier s'il y a des erreurs SQL:
$res = mysql_query($SQL) or die( mysql_error() );

RE

Posté : 02 janv. 2007, 07:09
par energie13
Merci pour les réponses :
nouvelle erreur : l36

Code : Tout sélectionner

while($val = mysql_fetch_array($res))
apparement c'est cette ligne qui pose pb sur le serveur. mais ce que je ne comprends pas c'est pourquoi sur mon serveur en local tout fonctionne correctement

Il n'y a pas d'erreur renvoyée en modifiant la ligne de commande mis a part celle précedement citée :s
je commence à désespérer l'heure tourne et je patoge

Posté : 02 janv. 2007, 07:13
par Xenon_54
Est-ce que une erreur est affichée si tu modifies pour ça?
mysql_query($SQL) or die( mysql_error() );

RESOLU

Posté : 02 janv. 2007, 07:20
par energie13
Merci j'avais l'erreur m'indiquant que la base expertis_vehicules n'existait pas. Forcément je ne l'avais pas importée sur mon serveur distant c'est pour cela que ca marchait en local. Merci beaucoup pour ton aide. Bonne journée, ou bonne nuit :) merci encore