Probleme d'insertion SQL

Probleme d'insertion SQL - SQL/NoSQL - Programmation

Marsh Posté le 08-06-2005 à 11:55:15    

Bonjour,
 
j'ai crée une requete qui doit inserer des champs dans une base de données MySQL, a partir de valeurs stockées dans le tableau $_SESSION[].
 
Ma requete ressemble a ceci :
 

Code :
  1. $sql1 = "
  2.   INSERT INTO form_adm(
  3.        id,
  4.        civ_titre,
  5.          civ_nom,
  6.          civ_prenom,
  7.          civ_nomjf,
  8.          civ_nomuse,
  9.          civ_datenaiss,
  10.          civ_villenaiss,
  11.          civ_paysnaiss,
  12.          civ_sitfam,
  13.          civ_numsecu,
  14.          civ_prestcompens,
  15.          civ_nationalite,
  16.          civ_datefr,
  17.          civ_dateetrue,
  18.          civ_dateetrnonue,
  19.          civ_paysdble1,
  20.          civ_paysdble2,
  21.          civ_datedble, //ligne 33
  22.          civ_dateapatride,
  23.          civ_numcartesej,
  24.          civ_emetteurcartesej,
  25.          civ_datedebutcs,
  26.          civ_datefincs,
  27.          civ_observationcartesej,
  28.          civ_typepermiscartesej
  29.        )
  30.  VALUES ('',
  31.        " .$_SESSION['civ_titre'] . ",
  32.          " .$_SESSION['civ_nom']. ",
  33.          " .$_SESSION['civ_prenom']. ",
  34.          " .$_SESSION['civ_nomjf']. ",
  35.          " .$_SESSION['civ_nomuse']. ",
  36.          " .$_SESSION['civ_datenaiss']. ",
  37.          " .$_SESSION['civ_villenaiss']. ",
  38.          " .$_SESSION['civ_paysnaiss']. ",
  39.          " .$_SESSION['civ_sitfam']. ",
  40.          " .$_SESSION['civ_numsecu']. ",
  41.          " .$_SESSION['civ_prestcompens']. ",
  42.          " .$_SESSION['civ_nationalite']. ",
  43.          " .$_SESSION['civ_datefr']. ",
  44.          " .$_SESSION['civ_dateetrue']. ",
  45.          " .$_SESSION['civ_dateetrnonue']. ",
  46.          " .$_SESSION['civ_paysdble1']. ",
  47.          " .$_SESSION['civ_paysdble2']. ",
  48.          " .$_SESSION['civ_datedble']. ",
  49.          " .$_SESSION['civ_dateapatride']. ",
  50.          " .$_SESSION['civ_numcartesej']. ",
  51.          " .$_SESSION['civ_emetteurcartesej']. ",
  52.          " .$_SESSION['civ_datedebutcs']. ",
  53.          " .$_SESSION['civ_datefincs']. ",
  54.          " .$_SESSION['civ_observationcartesej']. ",
  55.          " .$_SESSION['civ_typepermiscartesej']. "
  56.        )";
  57. $db = mysql_connect("","","" );
  58. mysql_select_db("",$db);
  59.  if ($sql1) {
  60.  mysql_query($sql1) or die("Erreur lors de l'insertion dans la base  ".$sql1." a échoué\n".mysql_error());
  61.        }


 
 
Qui me donne l'erreur suivante :  
 
Erreur lors de l'insertion dans la base INSERT INTO form_adm( id, civ_titre, civ_nom, civ_prenom, civ_nomjf, civ_nomuse, civ_datenaiss, civ_villenaiss, civ_paysnaiss, civ_sitfam, civ_numsecu, civ_prestcompens, civ_nationalite, civ_datefr, civ_dateetrue, civ_dateetrnonue, civ_paysdble1, civ_paysdble2, civ_datedble, civ_dateapatride, civ_numcartesej, civ_emetteurcartesej, civ_datedebutcs, civ_datefincs, civ_observationcartesej, civ_typepermiscartesej ) VALUES ('', Monsieur, jojo, lapin, , , 10/10/1980, sete, france, celibataire, 18010451451, non, francais, 10/10/1980, , , , , , , , , , , , ) a échoué Erreur de syntaxe près de ' , 10/10/1980, sete, fra' a ligne 33
 
Bon, c'est une erreur de syntaxe certes mais la je ne vois pas trop, y'a rien qui cloche a premiere vue, si quelqu'un vois un probleme qu'il le dise ! :jap:
 
 

Reply

Marsh Posté le 08-06-2005 à 11:55:15   

Reply

Marsh Posté le 08-06-2005 à 12:00:51    

tu dois mettre des ' autour de tes valeurs texte...

Reply

Marsh Posté le 08-06-2005 à 12:04:18    

Des mes valeurs texte ? excuse moi je saisis pas bien.
 
J'ai un peu galéré pour placer les ' et " correctement déjà ^^, éclaire ma lanterne stp :jap:

Reply

Marsh Posté le 08-06-2005 à 13:23:50    

Yes, ok je crois que j'ai compris en fumant ma clope.
 
Il faut que j'ajoute des '' autour des champs texte dans la partie VALUES() si j'ai bien compris.
 
Merci !!

Reply

Marsh Posté le 08-06-2005 à 16:20:18    

Oui c'est exact.
Les champs textes doivent être entourés de ' dans les requêtes.


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 09-06-2005 à 17:13:30    

J'ai un petit soucis, encore, avec les quotes.
Je crois que $last_id est mal pris en compte, j'ai une erreur type : Erreur de syntaxe pr賠de 'WHERE id = '..'' ࠬa ligne 27
 

Code :
  1. $sql2 = " UPDATE form_adm
  2.      SET adr_adrrue = '" .$_SESSION['adr_adrrue']. "',
  3.        adr_adrcomplement = '" .$_SESSION['adr_adrcomplement']. "',
  4.        adr_adrcpbd = '" .$_SESSION['adr_adrcpbd']. "',
  5.          adr_adrpays = '" .$_SESSION['adr_adrpays']. "',
  6.          adr_adrtel = '" .$_SESSION['adr_adrtel']. "'
  7.      WHERE id = '$last_id' ";


 
Que faut-il mettre comme ' ou " autour de $last_id ? J'ai essayé plusieurs combinaisons mais j'obtiens toujours une erreur.  
 
Merci

Reply

Marsh Posté le 09-06-2005 à 17:44:43    

$sql2 = "UPDATE form_adm SET adr_adrrue='" .$_SESSION['adr_adrrue']. "', adr_adrcomplement='".$_SESSION['adr_adrcomplement']. "', adr_adrcpbd='".$_SESSION['adr_adrcpbd']."', adr_adrpays='".$_SESSION['adr_adrpays']."', adr_adrtel='".$_SESSION['adr_adrtel']."' WHERE id=\"".$last_id."\"";
 
essay sa peut etre


---------------
"Le monde est dangereux à vivre non à cause de ceux qui font le mal mais à cause de ceux qui regardent et laissent faire." Einstein
Reply

Marsh Posté le 09-06-2005 à 18:01:48    

Hum merci pour la propal mais il me renvoie une erreur encore et toujours, etrange d'ailleurs, je vous met l'erreur :
 
Erreur lors de l'insertion dans la base INSERT INTO form_adm( id,[....] )
 VALUES ('', 'Monsieur', 'herve',[....],'', '', '', '' ) a échoué  
Erreur de syntaxe pr賠de 'WHERE id = '..'' ࠬa ligne 27
 
Il me renvoie une erreur en lien avec la requete précédente, alors que la variable $last_id n'apparait pas dans la dite requete.
 
Mon UPDATE .. SET renvoie une erreur dans le INSERT précédent, ... , syntaxe de #!@¤
 
Bon fin de la journée, @ciaozz

Reply

Sujets relatifs:

Leave a Replay

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