Page 1 sur 1

foreach insert

Posté : 24 mars 2006, 19:54
par kcadot
Bonjour,

Voilà je voudrais faire un upload de plusieur image (pour cette partie pas probleme) et enregistrer dans ma base le lien nom photo auteur ect..

voici mon script
foreach ($_FILES["pictures"]["error"] as $key => $error) {
   if ($error == UPLOAD_ERR_OK) { 
       echo"$error_codes[$error]";
       move_uploaded_file($_FILES["pictures"]["tmp_name"][$key],$lien.$_FILES["pictures"]["name"][$key]) or die("Problems with upload");
	   $categorie=$_POST["categorie"][$key];
	   $lien_dessin=$lien[$key];
	   $photo_dessin=$_FILES["pictures"]["name"][$key];	   
	   $auteur=$_POST['auteur'][$key];
	   
   $sql="INSERT INTO dessin($categorie,$lien_dessin,$photo_dessin,$date,$auteur)
VALUES('$categorie','$lien_dessin','$photo_dessin','$date','$auteur')"; 
$requete=mysql_query($sql,$cnx) or die(mysql_error()); 
	}
 }
et mon message d'erreur

Code : Tout sélectionner

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 'bebe ecole.jpg,,Karim) VALUES('barbie','.','bebe ecole.jpg','',
merci pour votre aide

Posté : 25 mars 2006, 00:12
par Arno76
Salut, est toujours mieux comme ca et ca prend meme pas 5 secondes!
//voici mon script
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
echo"$error_codes[$error]";
move_uploaded_file($_FILES["pictures"]["tmp_name"][$key],$lien.$_FILES["pictures"]["name"][$key]) or die("Problems with upload");
$categorie=$_POST["categorie"][$key];
$lien_dessin=$lien[$key];
$photo_dessin=$_FILES["pictures"]["name"][$key];
$auteur=$_POST['auteur'][$key];

$sql="INSERT INTO dessin($categorie,$lien_dessin,$photo_dessin,$date,$auteur)
VALUES('$categorie','$lien_dessin','$photo_dessin','$date','$auteur')";
$requete=mysql_query($sql,$cnx) or die(mysql_error());
}
} 
:)

foreach insert

Posté : 25 mars 2006, 09:02
par kcadot
Merci pour la réponse mais j'ai toujour le message

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 '/tmp/phpaiarH2,,Karim) VALUES('animaux','','/tmp/phpaiarH2','',

Posté : 25 mars 2006, 09:39
par mario
fais un
echo $sql;
ça te permettra de savoir comment la requête SQL est générée.
affiche nous le résultat stp

Posté : 25 mars 2006, 11:58
par zeus
Quand u fait une requete INSERT, il faut que tu donnes le nom des champs à un endroit. Dans ta requete, tu passes 2 fois les valeurs.

Le format d'une requete INSERT est le suivant :

Code : Tout sélectionner

INSERT INTO nom_table(liste des champs) VALUES (liste des valeurs)
Donc, je pense que ton problème doit se situer ici :

Code : Tout sélectionner

INSERT INTO dessin($categorie,$lien_dessin,$photo_dessin,$date,$auteur)
D'ailleurs, c'est ce que disait le message d'erreur. Il affiche la requete à partir de l'endroit qui a posé problème

foreach insert

Posté : 25 mars 2006, 13:55
par kcadot
Merci à tous pour vos réponses

Pour l'enregistrement dans la DB ok sauf que je n'arrive pas à enregistre
lien , categorie , auteur , ne marche pas photo OK
$lien=$_POST["lien"];
$categorie=$_POST["categorie"];
$auteur=$_POST["auteur"];
//voici mon script
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
echo"$error_codes[$error]";
move_uploaded_file($_FILES["pictures"]["tmp_name"][$key],$lien.$_FILES["pictures"]["name"][$key]) or die("Problems with upload");
$lien_dessin=$_POST["lien"][$key];
$photo_dessin=$_FILES["pictures"]["name"][$key];
$categorie=$categorie[$key];
$auteur=$auteur[$key];
$sql="INSERT INTO dessin(lien_dessin,photo_dessin,date,categorie,auteur)
VALUES('$lien_dessin','$photo_dessin','$date','$categorie','$auteur')";
$requete=mysql_query($sql,$cnx) or die(mysql_error());

}
}
Merci

echo $sql

Posté : 25 mars 2006, 14:03
par kcadot
Voila le resultat
suite à echo $sql
INSERT INTO dessin(lien_dessin,photo_dessin,date,categorie,auteur) VALUES('.','herzen1.gif','','a','Karim')INSERT INTO dessin(lien_dessin,photo_dessin,date,categorie,auteur) VALUES('.','hille_mandala-moewe.gif','','','a')

Le bon resultat aurais du être

INSERT INTO dessin(lien_dessin,photo_dessin,date,categorie,auteur) VALUES('../dessin/illustrations/divers/','herzen1.gif','date','divers','Karim')INSERT INTO dessin(lien_dessin,photo_dessin,date,categorie,auteur) VALUES('../dessin/illustrations/divers/','hille_mandala-moewe.gif','date','divers','karim')

pourquoi je n'arrive pas à enregistrer les valeurs lien_dessin,date, categorie, date.
alors que photo_dessin fonctionne