Pb avec INSERT TO

Résolu
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 1 mars 2005 à 15:58
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 1 mars 2005 à 17:00
salut ,
voila je place mon bout de code c plus simple:

if(isset($_POST['v1'])&&isset($_POST['v2']))
{

$idConnexion=mysql_connect("localhost","xavier","xavier"); // Connexion à MySQL
if (!$idConnexion) echo "Connexion au serveur ratée";
//else echo "Connexion au serveur réussie";
$connexionReussie=mysql_select_db("SEIXAL"); // Sélection de la base
if (!$connexionReussie) echo "Connexion à la base ratée";
//else echo "Connexion à la base réussie";
$drop="DROP TABLE pacing2";
if (!$drop) echo "drop raté";
$create="CREATE TABLE pacing2(
'id' SMALLINT NOT NULL AUTO_INCREMENT ,
'speed' FLOAT NOT NULL ,
'record' FLOAT NOT NULL ,
'tolerance' FLOAT NOT NULL ,
'reponse' FLOAT NOT NULL ,
'maxtime_adv' FLOAT NOT NULL ,
'maxtime_dis' FLOAT NOT NULL ,
'duration_delay' FLOAT NOT NULL ,
INDEX ( 'id' )
)";
if (!$create) echo "create raté";
$test =mysql_query ("INSERT INTO pacing2 VALUES('',".$_POST['speed'].",".$_POST['nb_record'].",".$_POST['tolerance'].",".$_POST['reponse'].",".$_POST['maxtime_adv'].",".$_POST['maxtime_dis'].",".$_POST['duration_delay'].")");


if (!$test) echo "Insert dans la table raté";
mysql_close();

et ca m'affiche insert dans la table raté....
en fait je veux que apres un formulaire creer une table dans une base deja existante et y inserer les valeurs du POST....
et si la table existe deja je l'efface pr en ecrire une nouvelle....
je ne sai pas d'ou vien le soucis si c de la syntaxe ou koi mais bon ca marche pas....

6 réponses

davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
1 mars 2005 à 16:27
alors..

php propose heureusement des outils tres faciles pour debugguer du sql (mysql).

l'instruction mysql_error() te renvoie l'erreur générée .

du coup, il te suffit de faire ceci pour ta requete:



mysql_query("..-- tu mets ici ta requete--...") or die("Erreur".mysql_error());



et il te sortira l'erreur :)


-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
3
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
1 mars 2005 à 16:11
salut !

tu mets

$drop="DROP TABLE pacing2";

ppeut etre devairs tu mettres : mysql_query("DROP TABLE pacing2"), sinon tu fera jamais ta query.



de plus , tu fais


$connexionReussie=mysql_select_db("SEIXAL");



je crois que tu dois rajouter l'identifiant de ta db pour la selection:


$connexionReussie=mysql_select_db("SEIXAL", $idConnexion);




Voila voila..ça devrait deja t'aider ;)


-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
1 mars 2005 à 16:21
maintenant il me dit que mon drop est rate ainsi que mon insert?????
je comprends pas la....
pourtant ca devrait aller.....
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
1 mars 2005 à 16:40
ok c bon a savoir ca!!!!
en gros il me dit ca comme erreur/
ErreurYou have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''id' SMALLINT NOT NULL AUTO_INCREMENT , 'speed' FLOAT NOT

donc il sagit bien d'une erreur de syntaxe mais je ne vois pas trop quoi???car cette facon de créer ma table je l'ai fait en en faisant une sur phpmyadmin et en récupérant le SQL correspondant!!!
mais bon ca vient de la qd meme....de mon create table!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
1 mars 2005 à 16:54
:)



enleve tous les simples quotes autour du nom de tes champs dans ta requetes :)



CREATE TABLE pacing2 (id SMALLINT NOT NULL
AUTO_INCREMENT , speed FLOAT NOT NULL , record FLOAT NOT NULL ,
tolerance FLOAT NOT NULL , reponse FLOAT NOT NULL , maxtime_adv FLOAT
NOT NULL , maxtime_dis FLOAT NOT NULL , duration_delay FLOAT NOT NULL ,
INDEX ( id ) );





-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
1 mars 2005 à 17:00
yes je viens de trouver c a cause des quotes ^^
merci pr l'aide et l'astuce du debuggeur!!!
il va bien m'aider dans l'avenir ca change tout!!!
THX....
X2
0
Rejoignez-nous