Mysql_fetch_array(): supplied argument is not
Résolu
Absot
Messages postés
819
Statut
Membre
-
UgglyBoy Messages postés 440 Statut Membre -
UgglyBoy Messages postés 440 Statut Membre -
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:
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
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
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"
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
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 :/
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 :/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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);
**/
}
?>
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:
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");
}
?>
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à?