Version complète: sur le forum Webmaster Hub : Problème de fonctionnement avec INSERT INTO
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
Judasnik
Bonjour,

Je viens demander de l'aide.

J'ai un problème avec une variable Insert into vers ma base de données. Elle m'affiche que les données sont bien envoyées dans ma table, mais ma table reste désespérement vide...

Ouille.

Voici mon code :

mysql_connect("adresse.de.l.hote", "login", "PaSsE");
mysql_select_db("nom_de_la_base");
mysql_query("INSERT INTO nom_de_la_table (ID, artist, title, heure_diff, duree) VALUES ('', ".$_POST['artist']. ",".$_POST['title']. "," .$_POST['starttime']. ",".$_POST['runtime'].")");
mysql_close();
echo "<font size='-2'>Informations ajoutées à la base.</font><br>";

Vous pensez savoir de quoi ca peut venir.

Ma base est hébergée chez ovh.

Merci pour tout.

Mika sick.gif
marcb
Bonsoir,

Tu peux transformer ça :

CODE
mysql_query("INSERT INTO nom_de_la_table (ID, artist, title, heure_diff, duree) VALUES ('', ".$_POST['artist']. ",".$_POST['title']. "," .$_POST['starttime']. ",".$_POST['runtime'].")";


en ça :

CODE
$sql = "INSERT INTO nom_de_la_table (ID, artist, title, heure_diff, duree) VALUES ('', ".$_POST['artist']. ",".$_POST['title']. "," .$_POST['starttime']. ",".$_POST['runtime'].")";
echo "SQL = $sql <br/>";

$result = mysql_query($sql);
if (!$result) {
    die('Erreur lors de la requete : ' . mysql_error());
}


Et tu nous affiche le résultat.
Il y a un guillemet en trop apparemment avant $_POST['artist'].

M
Judasnik
Merci, je vais tenter ça je reposte derrière ce week end.
Merci merci
Judasnik
Re,

J'ai mis ton code, etla réponse est que j'ai un problème de syntaxe sur mon code MYSQL.

Aille.

ALors qu'avant, il me mettais bien qu les données étaient envoyées dans la table.

Merci
Judasnik
ça peut venir de la version du serveur ? sql5-5
marcb
Bonjour,

Peux-tu faire un copier/coller de tout ce qui s'affiche stp.

M
Judasnik
Bonjour,


Voici le message.


#1064 - 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 '$sql = "INSERT INTO nom_de_la_table (ID, artist, title, heure_diff, duree) VALUE' at line 1


Merci
marcb
OK, mais il faut aussi la ligne avec SQL = ....
C'est pour ça que je te disais tout l'affichage...

M
Kioob
Hello,

MySQL qui renvoit une erreur de syntaxe sur du code PHP, au moins c'est original comme erreur tongue.gif Tu as visiblement mélangé les deux dans ton code, donc montre nous ça.
Judasnik
Salut,
voici le message d'erreur:

SQL = INSERT INTO nom-de-la-base (ID, artist, title, heure_diff, duree) VALUES ('', KEZIAH JONES,Rythm is love - live,2008/05/05 15:16:25,285.71)
Erreur lors de la requete : 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 'JONES,Rythm is love - live,2008/05/05 15:16:25,285.71)' at line 1

Mais avec mon premier code, je n'avais pas de message d'erreur. Juste cela ne s'incrivais pas dans la table.

Je m'arrache les cheveux.
hihi.

Merci
Bonne après midi.

Mika
Portekoi
Rajoute des '' pour séparer les champs smile.gif
Judasnik
Salut, Salut,

JE suis désolé, mais y'a déjà des " , non?

Je comprend pas héhé.
Merci beaucoup à tous
Portekoi
SQL
INSERT INTO nomdelabase (artist, title, heure_diff, duree) VALUES ('KEZIAH JONES','Rythm is love - live','2008/05/05 15:16:25','285.71')
captain_torche
Tu peux modifier la ligne de ta requête comme suit :
CODE
$sql = "INSERT INTO nom_de_la_table (ID, artist, title, heure_diff, duree) VALUES ('', '$_POST[artist]', '$_POST[title]', '$_POST[starttime]', '$_POST[runtime]')";
Portekoi
Sous réserve d'enlever les ' des variables smile.gif (addslashes)

Et le ID étant surement en Auto_Increment, pas besoin de le spécifier.
Judasnik
Salut,

Merci Captain Torche, j'ai modifier selon tes dires et cela fonctionne.

Merci beaucoup.

Voici mon code pour ceux qui ont suivis, ou ceux qui aurait le même soucis.

CODE
mysql_query("INSERT nom_de_la_table (ID, artist, title, heure_diff, duree) VALUES ('', '$_POST[artist]', '$_POST[title]', '$_POST[starttime]', '$_POST[runtime]')");
                mysql_close();
                echo "<font size='-2'>Informations ajoutées à la base.</font><br>";


Merci à tous.

Je vais être un fidèle.

A plus
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.