par
zeus » 23 févr. 2007, 11:52
La syntaxe d'un INSERT est légèrement différente de ce que tu utilises.
A chaque fois que tu écrit INSERT, tu inserts une nouvelle ligne. Si tu veux créer une nouvelle ligne pour laquelle tu fixes, plusieurs valeurs, tu peux ecrire
Code : Tout sélectionner
INSERT INTO table1 (champ1, champ2, champ3)
VALUES (valeur1, valeur2, valeur3)
plutôt que
Code : Tout sélectionner
INSERT INTO table1 (champ1) VALUES (valeur1);
INSERT INTO table1 (champ2) VALUES (valeur2);
INSERT INTO table1 (champ3) VALUES (valeur3);
De plus, quand tu commences une chaine de caractères par ", si tu veux insérer une variable dedans, il faut également utiliser " et non pas '
exemple :
mysql_query("INSERT INTO images('adresse_mini') VALUES 'images/ecosse/se'.$i.'.jpg'");
doit être
mysql_query("INSERT INTO images('adresse_mini') VALUES 'images/ecosse/se".$i.".jpg'");
Enfin, si tu génères une chaine avant la requête, penses à l'utiliser dans la requete.
Ensuite, pense à mettre des die() après l'exécution d'une requête pour récupérer les éventuels messages d'erreurs
voici ton code corrigé :
mysql_connect("localhost", "root");
mysql_select_db("test");
for($i=0; $i !=162 ; $i++)
{
$adresse_mini = 'images/ecosse/miniecosse/se'.$i.'.jpg' ;
$adresse = 'images/ecosse/se'.$i.'.jpg';
$description = 'ecosse';
$commentaire = 'Ecosse';
$str_requete = "INSERT INTO images('id', 'adresse_mini', 'adresse', 'description', 'commentaire')
VALUES $i, '".$adresse_mini."', '".$adresse."', '".$description."', '".$commentaire."'";
mysql_query($str_requete) or die('Erreur MySQL : '.mysql_error()."\n".$str_requete);
}
mysql_close();
La syntaxe d'un INSERT est légèrement différente de ce que tu utilises.
A chaque fois que tu écrit INSERT, tu inserts une nouvelle ligne. Si tu veux créer une nouvelle ligne pour laquelle tu fixes, plusieurs valeurs, tu peux ecrire
[code]INSERT INTO table1 (champ1, champ2, champ3)
VALUES (valeur1, valeur2, valeur3)[/code]
plutôt que
[code]INSERT INTO table1 (champ1) VALUES (valeur1);
INSERT INTO table1 (champ2) VALUES (valeur2);
INSERT INTO table1 (champ3) VALUES (valeur3);[/code]
De plus, quand tu commences une chaine de caractères par ", si tu veux insérer une variable dedans, il faut également utiliser " et non pas '
exemple :
[php]mysql_query("INSERT INTO images('adresse_mini') VALUES 'images/ecosse/se'.$i.'.jpg'");[/php]
doit être
[php]mysql_query("INSERT INTO images('adresse_mini') VALUES 'images/ecosse/se".$i.".jpg'");[/php]
Enfin, si tu génères une chaine avant la requête, penses à l'utiliser dans la requete.
Ensuite, pense à mettre des die() après l'exécution d'une requête pour récupérer les éventuels messages d'erreurs ;)
voici ton code corrigé :
[php]mysql_connect("localhost", "root");
mysql_select_db("test");
for($i=0; $i !=162 ; $i++)
{
$adresse_mini = 'images/ecosse/miniecosse/se'.$i.'.jpg' ;
$adresse = 'images/ecosse/se'.$i.'.jpg';
$description = 'ecosse';
$commentaire = 'Ecosse';
$str_requete = "INSERT INTO images('id', 'adresse_mini', 'adresse', 'description', 'commentaire')
VALUES $i, '".$adresse_mini."', '".$adresse."', '".$description."', '".$commentaire."'";
mysql_query($str_requete) or die('Erreur MySQL : '.mysql_error()."\n".$str_requete);
}
mysql_close(); [/php]