Judasnik Posté 2 Mai 2008 Partager Posté 2 Mai 2008 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
marcb Posté 2 Mai 2008 Partager Posté 2 Mai 2008 Bonsoir, Tu peux transformer ça : 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 : $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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Judasnik Posté 2 Mai 2008 Auteur Partager Posté 2 Mai 2008 Merci, je vais tenter ça je reposte derrière ce week end. Merci merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Judasnik Posté 2 Mai 2008 Auteur Partager Posté 2 Mai 2008 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Judasnik Posté 2 Mai 2008 Auteur Partager Posté 2 Mai 2008 ça peut venir de la version du serveur ? sql5-5 Lien vers le commentaire Partager sur d’autres sites More sharing options...
marcb Posté 3 Mai 2008 Partager Posté 3 Mai 2008 Bonjour, Peux-tu faire un copier/coller de tout ce qui s'affiche stp. M Lien vers le commentaire Partager sur d’autres sites More sharing options...
Judasnik Posté 4 Mai 2008 Auteur Partager Posté 4 Mai 2008 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
marcb Posté 5 Mai 2008 Partager Posté 5 Mai 2008 OK, mais il faut aussi la ligne avec SQL = .... C'est pour ça que je te disais tout l'affichage... M Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kioob Posté 5 Mai 2008 Partager Posté 5 Mai 2008 Hello, MySQL qui renvoit une erreur de syntaxe sur du code PHP, au moins c'est original comme erreur Tu as visiblement mélangé les deux dans ton code, donc montre nous ça. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Judasnik Posté 5 Mai 2008 Auteur Partager Posté 5 Mai 2008 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 5 Mai 2008 Partager Posté 5 Mai 2008 Rajoute des '' pour séparer les champs Lien vers le commentaire Partager sur d’autres sites More sharing options...
Judasnik Posté 7 Mai 2008 Auteur Partager Posté 7 Mai 2008 Salut, Salut, JE suis désolé, mais y'a déjà des " , non? Je comprend pas héhé. Merci beaucoup à tous Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 7 Mai 2008 Partager Posté 7 Mai 2008 INSERT INTO nomdelabase (artist, title, heure_diff, duree) VALUES ('KEZIAH JONES','Rythm is love - live','2008/05/05 15:16:25','285.71') Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 7 Mai 2008 Partager Posté 7 Mai 2008 Tu peux modifier la ligne de ta requête comme suit : $sql = "INSERT INTO nom_de_la_table (ID, artist, title, heure_diff, duree) VALUES ('', '$_POST[artist]', '$_POST[title]', '$_POST[starttime]', '$_POST[runtime]')"; Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 7 Mai 2008 Partager Posté 7 Mai 2008 Sous réserve d'enlever les ' des variables (addslashes) Et le ID étant surement en Auto_Increment, pas besoin de le spécifier. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Judasnik Posté 7 Mai 2008 Auteur Partager Posté 7 Mai 2008 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. 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant