Probléme de requete SQL via variable PHP
Forum Programmation : Probléme de requete SQL via variable PHP
Bonsoir voici mon code: je récupéré les donné d'un xml externe et je stocke chaque item de ce xml dans des variable.
ensuite j'exécute une requête sql pour insérer les donné grâce au variables.ca marche, seulement il ne m'insère que la dernière donné :s
le code :
<?php
if (!$myxml=simplexml_load_file('http://lesite.com/rss/monxml.xml')){
echo 'Error reading the XML file';
}
foreach($myxml as $item){
echo '' . $item->title . '';
echo '' . $item->description . '';
echo '' . $item->enddate . '';
}
?>
<?php
$host="localhost";
$login="root";
$password="";
$base="mabase";
mysql_connect($host,$login,$password) or die(mysql_error());
mysql_select_db($base);
$req = "INSERT INTO mesnews ( `id` , `titre` , `datefin` , `description` , `lien` , `liensite` , `code` , `mots_cles` )
VALUES (
'', '$item->title', '$item->enddate', '$item->description', '$item->link', '$item->link', '$item->code', '$item->title'
);";
$res = mysql_query($req) or die(mysql_error());
mysql_close();
?>
svp!!!
Merci d'avance.
Logique, il faudrait mettre ton insertion SQL dans ta boucle qui lit le XML et pas après...
Répondre à Darit
merci de ta réponse mai je n'y arrive pas
svp quelqu'un sait comment faire?
Ton code ressemble à quoi actuellement ?
Répondre à Darit
<?php
$host="localhost";
$login="root";
$password="";
$base="mabase";
mysql_connect($host,$login,$password) or die(mysql_error());
mysql_select_db($base);
if (!$myxml=simplexml_load_file('http://lesite.com/rss/monxml.xml')){
echo 'Error reading the XML file';
}
foreach($myxml as $item){
echo '' . $item->title . '';
echo '' . $item->description . '';
echo '' . $item->enddate . '';
$req = "INSERT INTO mesnews ( `id` , `titre` , `datefin` , `description` , `lien` , `liensite` , `code` , `mots_cles` )
VALUES (
'', '$item->title', '$item->enddate', '$item->description', '$item->link', '$item->link', '$item->code', '$item->title'
);";
$res = mysql_query($req) or die(mysql_error());
}
mysql_close();
?>
c bizard :s
Ça ne marche toujours pas :s
Il n'ajoute toujours que la dernière donnée ?
Répondre à Darit
Maintenant il ne m'ajoute rien, j'ai juste un message d'erreur:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'achat (valable jusqu'au 6er mars 2007 sur l'ensemble de l'offre www.truc.com' at line 3
Euh d'ailleurs tes "echo" affichent quelque chose ?
Et "achat" se trouve où dans ta page ???
Répondre à Darit
achat fait parti du premier item
L'affichage des données XML fonctionne correctement ?
Répondre à Darit
Non avec le précédent code j'avais les 3 echo qui fonctionnai mais il ne m'ajoutai que le dernière item sur la BD.
Maintenant les echo ne m'affiche que le 1ére item et rien ne s'ajoute à la BD
L'erreur doit se situer au niveau de l'insertion dans la BDD... as-tu supprimé les anciennes valeurs de la BDD (pour éviter les doublons...) ?
Répondre à Darit
oui elle est vide.
Bon ca serait un problème de syntaxe... Peut être un problème dans les guillemets ?
Répondre à Darit
En supprimant la ligne $res = mysql_query($req) or die(mysql_error());
les echo remarche mai toujours rien sur la BD.
c bon j'ai réussi a tout rajouter à la BD sauf la variable description qui bloque tout.merci !
C'était à cause de la variable description et des guillemets alors ?
Répondre à Darit
je ne sait pas je n'arrive pas à trouver le bon type pour le champs description car j'ai essayer en remplacent la variable description par la première description directement et ca na pas marché, donc jai retirer les accents et caractère spéciaux et la, ça a marché.Donc si quelqu'un sait comment faire pour accepter les caractère spéciaux et accents dans une requête INSERT
MERCI
Personne n'a une idée
?
Il y a 688 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
