Syntaxe INSERT INTO

Syntaxe INSERT INTO - PHP - Programmation

Marsh Posté le 23-12-2008 à 15:52:09    

Bonjour,
 
J'ai un petit script php qui ajoute des champs à ma base de donnée MySQL. Rien de très compliqué mais j'ai un problème de syntaxe sur ma requete SQL (Parse error: parse error in C:\wamp\www\Cablage\php\requete\add_driver.php on line 16) et je ne voit plus d'où cela peut venir  :??: (j'ai corriger pas mal d'erreur ... :D )
 

Code :
  1. <?php
  2. require_once("..\..\config.php" );
  3. $db = connect_sql(); // Connexion à la base
  4. mysql_select_db('test', $db); // Selection base
  5. $nom = $_POST['Nom']; // Récupération des variables POST
  6. $lien = $_POST['Lien'];
  7.  if(empty($nom) OR empty($lien))
  8.  {
  9.   $reponse = 'Vous n\'avez pas rempli un ou plusieurs champ(s). <a href="javascript:history.back(1)">Retour au formulaire</a>' ;
  10.  }
  11.  else
  12.  {
  13.   mysql_query ("INSERT INTO drivers ('Nom', 'Lien') VALUES ("`.$nom.`", "`.$lien.`" )"or die("Erreur SQL : <br/>".mysql_error()); // Insertion des données dans la table drivers
  14.   $reponse = 'Vos données on été ajoutées.<br><a href="..\driver.php">Retour</a>' ;
  15.  }
  16.  echo $reponse;
  17.  mysql_close($db); // On ferme la session MySQL  
  18. ?>


 
Si quelqu'un voit l'erreur !
Voila merci d'avance

Reply

Marsh Posté le 23-12-2008 à 15:52:09   

Reply

Marsh Posté le 23-12-2008 à 15:54:51    

mauvaise utilisation des `

Code :
  1. $nom = mysql_real_escape_string($nom); // pour eviter que ca te pete a la gueule dès la première apostrophe
  2.  
  3. $lien  = = mysql_real_escape_string($nom);
  4.  
  5. $query = "INSERT INTO drivers ('Nom', 'Lien') VALUES ('$nom','$lien')";
  6. mysql_query($query);


Message édité par flo850 le 23-12-2008 à 15:54:59

---------------

Reply

Marsh Posté le 23-12-2008 à 16:05:57    

Merci pour ta réponce et en effet c'était bien sa !!!  :bounce:  
 
Par contre il me marque bien que mes données on été ajoutées mais en fait rien du tout  :cry:  
 
Pourquoi donc ?

Reply

Marsh Posté le 23-12-2008 à 17:06:15    

un autocommit à OFF ?
et tu pourrais me donner l'adresse de ton site, histoire d'y faire un peu de SQL injection ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-12-2008 à 08:48:40    

Bonjour,
 
C'est en fait une application en php qui va tourner en interne et qui n'est donc pas sur le net.
 
Mais je ne comprend pas trop car ma requete est bonne puisque quand je l'execute dans PHPMyAdmin elle marche normalement. Peut être un souci avec mysql_query !
Par contre autocommit à OFF  :heink:


Message édité par ysolal le 24-12-2008 à 08:50:22
Reply

Marsh Posté le 24-12-2008 à 09:34:46    

echo mysql_error() après ta requête


---------------

Reply

Marsh Posté le 24-12-2008 à 09:58:40    

il y a déja un

Code :
  1. or die("Erreur SQL : <br/>".mysql_error()

qui ne retourne aucune erreur et qui affiche "Vos données on été ajoutée" mais dans la base il n'y a rien  :ouch:

Reply

Marsh Posté le 24-12-2008 à 10:01:09    

echo $query; affiche quoi ?  
 


---------------

Reply

Marsh Posté le 24-12-2008 à 10:15:01    

ça affiche ma requete (j'ai rentré aaa en nom et aaa en lien) :
 
INSERT INTO drivers ('Nom', 'Lien') VALUES ('aaa','aaa')
 
qui parait bonne non ?

Reply

Marsh Posté le 24-12-2008 à 10:24:53    

y'a pas un AUTOCOMMIT sur MySQL ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-12-2008 à 10:24:53   

Reply

Marsh Posté le 24-12-2008 à 10:25:20    

pour le desactiver il faut vraiment le faire exprès


---------------

Reply

Marsh Posté le 24-12-2008 à 10:30:03    

il est sur ON par défaut ? [:ohmyeyes]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-12-2008 à 10:32:06    

je pense vu que je n'est rien touché et que j'ai d'autres requetes du même type qui fonctionnent

Reply

Marsh Posté le 24-12-2008 à 10:33:28    

mais faut le désactiver immédiatement [:pingouino]
ça n'a rien à voir avec ton souci, mais un AUTOCOMMIT sur ON, c'est hyper dangereux quoi [:pingouino]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-12-2008 à 10:33:55    

je savais pas que l'on pouvait utiliser des guillements simples pour les noms de champs. Je pensais que l'on pouvait seulement utiliser des backquotes :??:

Reply

Marsh Posté le 24-12-2008 à 10:34:01    

Harkonnen a écrit :

il est sur ON par défaut ? [:ohmyeyes]


en fait, par defaut, il n'y a pas la notion de commit. Il faut changer de moteur de bdd pour pouvoir le mettre a off


---------------

Reply

Marsh Posté le 24-12-2008 à 10:41:17    

j'utilise wamp pour faire des tests donc je croi pas qui n'y est d'autocommit vu que je ne l'est mis sur ON (ni sur OFF d'ailleurs) nul part

Reply

Marsh Posté le 24-12-2008 à 10:50:43    

C'est bon  :bounce:  
 
C'était une erreur de syntaxe bidon (il n'y a pas de ' ' entre les nom des champs)
 

Code :
  1. INSERT INTO drivers (Nom, Lien) VALUES ('aaa','aaa')


 
Merci à tous


Message édité par ysolal le 24-12-2008 à 10:50:59
Reply

Marsh Posté le 24-12-2008 à 10:56:22    

'tain, bravo luc@s, j'avais même pas fait gaffe tellement j'imaginais pas un truc aussi gros [:prozac]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-12-2008 à 10:57:10    


[:roi]


---------------

Reply

Marsh Posté le 24-12-2008 à 10:58:28    

comment il nous a blousé le môme, j'en reviens pas [:implosion du tibia]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-12-2008 à 11:02:07    

il est vraiment bon , il y a du potentiel


---------------

Reply

Marsh Posté le 24-12-2008 à 11:08:57    

[:ptiteplume]

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed