Mysql_fetch_array(): supplied argument is not

Résolu/Fermé
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 - 11 janv. 2010 à 10:44
UgglyBoy Messages postés 422 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 30 mai 2015 - 11 janv. 2010 à 12:56
Bonjour, j'ai un problème dans ma requête SQL et j'ai l'erreur mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\MyBestAddressBook\extraction\extraction.php on line 24 et je ne comprends pas pourquoi vu que cela fonctionnait très bien vendredi.. :/

Voici mon ceode:
$connexion = mysql_connect("127.0.0.1", "root", "root") or die("Connexion impossible au serveur");
mysql_select_db("mbab-v3") or die("Connexion impossible a la base");
		 
$requete = "SELECT * 
                  FROM n_buzz
	          limit 0,10";
		  
$result = mysql_query($requete) or die("Erreur SQL : " . mysql_error());

while ($val = mysql_fetch_array($result)) 
{ 
   ...
}

10 réponses

Bonjour

Et tu n'as pas d'autre message d'erreur avant celui-là ?
Avec le code que tu montres, tu devrais voir les messages des 'or die()' s'il y avait un problème dans ta connexion ou ta requête
Vérifie que tu ne modifies pas $result à l'intérieur de ton while
0
UgglyBoy Messages postés 422 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 30 mai 2015 64
11 janv. 2010 à 11:15
Cela est étrange. Je ne vois pas où peut-être le problème. Le seul truc que je vois est que tu ne prends pas les records depuis le début avec "LIMIT 0, 10" (de 1 à 11) tu voudrais peut-être faire ceci: "LIMIT 10"
0
Si j'en crois le manuel de référence mysql, LIMIT 0,10 est exactement équivalent à LIMIT 10. La valeur du premier argument de LIMIT est 0 par défaut.
0
UgglyBoy Messages postés 422 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 30 mai 2015 64 > le père
11 janv. 2010 à 12:19
C'est fort probable... mais je trouvais leur explication pas très claire: "SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15" à la page (https://dev.mysql.com/doc/refman/8.0/en/select.html
0
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
11 janv. 2010 à 11:23
Non je n'ai pas d'autres messages d'erreur:
http://nsa11.casimages.com/img/2010/01/11/100111112949652209.jpg

Dans mon while, je ne rappel pas ma variable $result donc je ne la modifie pas, bizarre quand même tout ça :/
0
Très étrange en effet...
Peux-tu donner le code complet ?
0

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

Posez votre question
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
11 janv. 2010 à 12:13
Voilà tout le code:
<?php 

// pour cahque buzz, créer 2 nouveaux fichiers (fr_id.xml et en_id.xml)

$connexion = mysql_connect("127.0.0.1", "root", "root") or die("Connexion impossible au serveur");
// $connexion_spip = mysql_connect($user, $password, "") or die("Connexion impossible au serveur spip");

mysql_select_db("mbab-v3") or die("Connexion impossible a la base");
		 
$requete = "SELECT * 
            FROM n_guide
		    limit 0,5";
		  
echo $requete;		  
$result = mysql_query($requete) or die("Erreur SQL : " . mysql_error());

while ($val = mysql_fetch_array($result)) 
{ 
	echo $val["g_lib_fr"]; 
	
	$id = $val["g_id"];
	$image = "http://****.com/img/guide/guide-".$id.".jpg";
	$imagelocale = "image/".$id.".jpg";	
	$adresseFr = "GuideFr_".$id.".xml";
	touch($adresseFr); 
	$data="<buzz>";
	$data=$data."<img>".$imagelocale."</img>";
	$data=$data."<id>".$id."</id>";
	// Partie francaise
	$data=$data."<lib>".$val["g_lib_fr"]."</lib>";
	$data=$data."<contenu>".$val["g_desc_fr"]."</contenu><br/>";
	$data=$data."<categorie>".$val["g_cat"]."</categorie><br/>";
	$data=$data."<ville>".$val["g_ville_fr"]."</ville><br/>";
	$data=$data."<key1>".$val["g_tag1_fr"]."</key1><br/>";
	$data=$data."<key2>".$val["g_tag2_fr"]."</key2><br/>";
	$data=$data."<key3>".$val["g_tag3_fr"]."</key3><br/>";
	$data=$data."<etat>".$val["g_etat"]."</etat><br/>";
	$data=$data."<date>".$val["g_date"]."</date><br/>";
	$data=$data."</buzz>";
	
	// Partie anglaise
	$adresseEn = "GuideEn_".$id.".xml";
	touch($adresseEn);
	$data="<buzz>";
	$data=$data."<lib>".$val["g_lib_en"]."</lib>";
	$data=$data."<contenu>".$val["g_desc_en"]."</contenu>";
	$data=$data."<ville>".$val["g_ville_en"]."</ville>";
	$data=$data."<activite>".$val["g_activite_en"]."</activite>";
	$data=$data."<tag1>".$val["g_tag1_en"]."</tag1>";
	$data=$data."<tag2>".$val["g_tag2_en"]."</tag2>";
	$data=$data."<tag3>".$val["g_tag2_en"]."</tag3>";
	$data=$data."</buzz>";
		
	
	$fp_fr=fopen($adresseFr,"w"); 
	fwrite($fp_fr,$data);
	fclose($fp_fr); 
	
	$fp_en=fopen($adresseEn,"w");
	fwrite($fp_en,$data);
	fclose($fp_en);
	
	touch($imagelocale);
	$fp_img=fopen($imagelocale,"w"); 
	/**	
$handle = fopen($image, "rb");
$contents = stream_get_contents($handle);
//echo $contents;
fwrite($fp_img,$contents);
	fclose($fp_img); 
	fclose($handle);
	**/
 
 $titre_fr = $val["b_lib_fr"];
 $soutitre = "";
 $id_rubrique = 1;
 $descriptif = "";
 $texte_fr = $val["b_desc_fr"];
 $statut = "";
 $id_secteur = 1;
 $export = "";
 $langue = "";
 $langue_choisie = "";
 $nom_site = "";
 $url_site = "";

 /**
 // Partie injection
$user = "root";
$password = "root";
$host = "127.0.0.1";

$connexion = mysql_connect($host,$user, $password) or die("Connexion impossible au serveur");

mysql_select_db("mbab-v3") or die("Connexion impossible a la base");
 
 $rec_insert = "INSERT INTO `spip`.`spip_articles` (
`id_article` ,
`surtitre` ,
`titre` ,
`soustitre` ,
`id_rubrique` ,
`descriptif` ,
`chapo` ,
`texte` ,
`ps` ,
`date` ,
`statut` ,
`id_secteur` ,
`maj` ,
`export` ,
`date_redac` ,
`visites` ,
`referers` ,
`popularite` ,
`accepter_forum` ,
`date_modif` ,
`lang` ,
`langue_choisie` ,
`id_trad` ,
`extra` ,
`id_version` ,
`nom_site` ,
`url_site`
)
VALUES (
NULL , '', '$titre_fr', '$soutitre', '$id_rubrique', '$descriptif', '', '$texte_fr', '', '0000-00-00 00:00:00', '$statut', '$id_secteur',
CURRENT_TIMESTAMP , '$export', '0000-00-00 00:00:00', '0', '0', '0', '', '0000-00-00 00:00:00', '$langue', '$langue_choisie', '0', NULL , '0', '$nom_site', '$url_site'
)";

 $result = mysql_query($rec_insert);
**/ 
 }
 

?>


0
UgglyBoy Messages postés 422 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 30 mai 2015 64
11 janv. 2010 à 12:25
tu selectionnes sur la table n_buzz ou n_guide ?
0
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
11 janv. 2010 à 12:30
J'ai deux fichiers, un pour le n_buzz et un autre pour le n_guide, les codes sont quasiment identiques mais ce qui est étrange ( je viens de m'en rendre compte :$ ), mon fichier avec le n_guide fonctionne.. xD

Voilà le code pour n_buzz:

<?php

// pour cahque buzz, créer 2 nouveaux fichiers (fr_id.xml et en_id.xml)

$connexion = mysql_connect("127.0.0.1", "root", "root") or die("Connexion impossible au serveur");
mysql_select_db("mbab-v3") or die("Connexion impossible a la base");
		 
$requete = "SELECT * 
                   FROM n_buzz
	           limit 5";
		  
$result = mysql_query($requete) or die("Erreur SQL : " . mysql_error());

while ($val = mysql_fetch_array($result)) 
{ 
	echo $val["b_lib_fr"]; 
	
	$id = $val["b_id"];
	$image = "http://***.com/img/buzz/medium/".$id.".jpg";
	$imagelocale = "image/".$id.".jpg";	
	$adresseFr = "BuzzFr_".$id.".xml";
	touch($adresseFr); 
	$data="<buzz>";
	$data=$data."<img>".$imagelocale."</img>";
	$data=$data."<id>".$id."</id>";
	// Partie francaise
	$data=$data."<lib>".$val["b_lib_fr"]."</lib>";
	$data=$data."<contenu>".$val["b_desc_fr"]."</contenu><br/>";
	$data=$data."<categorie>".$val["b_cat"]."</categorie><br/>";
	$data=$data."<ville>".$val["b_ville_fr"]."</ville><br/>";
	$data=$data."<activite>".$val["b_activite_fr"]."</activite><br/>";
	$data=$data."<addresse_id>".$val["b_ad_id"]."</addresse_id><br/>";
	$data=$data."<manuel_addresse>".$val["b_manuel_ad"]."</manuel_addresse><br/>";
	$data=$data."<manuel_telephone>".$val["b_manuel_tel"]."</manuel_telephone><br/>";
	$data=$data."<manuel_web>".$val["b_manuel_web"]."</manuel_web><br/>";
	$data=$data."<tag1>".$val["b_tag1_fr"]."</tag1><br/>";
	$data=$data."<tag2>".$val["b_tag2_fr"]."</tag2><br/>";
	$data=$data."<tag3>".$val["b_tag3_fr"]."</tag3><br/>";
	$data=$data."<newsFlash>".$val["b_newsFlash"]."</newsFlash><br/>";
	$data=$data."<etat>".$val["b_etat"]."</etat><br/>";
	$data=$data."<date>".$val["b_date"]."</date><br/>";
	$data=$data."</buzz>";

	$fp_fr=fopen($adresseFr,"w"); 
	fwrite($fp_fr,$data);
	fclose($fp_fr); 	


	// Partie anglaise
	$adresseEn = "BuzzEn_".$id.".xml";
	touch($adresseEn);
	$data="<buzz>";
	$data=$data."<lib>".$val["b_lib_en"]."</lib>";
	$data=$data."<contenu>".$val["b_desc_en"]."</contenu>";
	$data=$data."<ville>".$val["b_ville_en"]."</ville>";
	$data=$data."<activite>".$val["b_activite_en"]."</activite>";
	$data=$data."<tag1>".$val["b_tag1_en"]."</tag1>";
	$data=$data."<tag2>".$val["b_tag1_en2"]."</tag2>";
	$data=$data."<tag3>".$val["b_tag1_en3"]."</tag3>";
	$data=$data."</buzz>";
		
	$fp_en=fopen($adresseEn,"w");
	fwrite($fp_en,$data);
	fclose($fp_en);
	
	touch($imagelocale);
	$fp_img=fopen($imagelocale,"w"); 

 
 }
 ?>
0
UgglyBoy Messages postés 422 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 30 mai 2015 64
11 janv. 2010 à 12:39
dans cette capture d'écran (http://nsa11.casimages.com/img/2010/01/11/100111112949652209.jpg) que tu nous montres, il y a qqchose d'étrange à la 1ère ligne: "Exposition Cobra" kesoko? keske ça fout là?
0
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
11 janv. 2010 à 12:51
J'ai fais un echo d'un des trucs de la table dans le while donc à chaque passage, ca affiche le lib.

J'ai résolu mon problème =D

En fait, comme un mauvais (comme toujours), j'avais oublié de commenter certaines partie du code plus bas que mon while xD

Merci :)
0
UgglyBoy Messages postés 422 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 30 mai 2015 64
11 janv. 2010 à 12:56
Ok bon suite... tu marques le sujet étant résolut?
0