[RESOLU] erreur lors de l'insertion d'une valeur obtenue par la fonct

Petit nouveau ! | 4 Messages

04 mai 2013, 15:44

bonjour tout le monde ,
depuis 2 jour j'essaye de régler une erreur mysql qui m’empêche d'insérer des données dans la base de données .
je ne sais pas si j'ai fait une erreur en php ou dans la requête .
j'utilise la fonction mysql_insert_id() pour récupérer la valeur d'un champ auto_increment dans la table assure pour l'insérer dans la table dossier .
la fonction mysql_insert_id() renvoie la dernière clé généré par le sgbd et pour vérifier j'ai met sur le script echo mysql_insert_id() .
pour identifier mon erreur j'ai inséré dans la table dossier une valeur prédéfinie eu lieu de la valeur retourné par mysql_insert_id() et ça a marché bien et les données ont été inséré correctement mais quand j'essaye la requête avec $idas qui est la valeur retourné par la fonction php mysql_insert_id () j’obtiens le message d'erreur suivant :
Erreur de syntaxe près de' ' ' ' ' ' ' ' ' ' ' ' a la ligne 1 ,
se que je ne comprend pas est que le message d'erreur indique qu'il y a une erreur de syntaxe dans la requête d'insertion du la table assure qui ne contiens pas la valeur de mysql_insert_id et qui insère les données de l'assuré correctement ,
j'ai fait le script suivant :

Code : Tout sélectionner

{     mysql_select_db ('gestiondesprestation'); $req="insert into assure (nom_as,prenom_as,dnais_as,lnais_as,adr,wilaya,commune,tel,pere,mere,sf,fonction,employeur,sectjur,sectacti)  values ('$nm','$pnm','$dtn','$ldn','$adr','$cmn','$wilaya','$tel','$pere','$mere','$sf','$fonct','$employeur','$sj','$sectacti')"; if (mysql_query ($req))  echo"insertion assure effectué" ; else echo "insertion assure echoué". mysql_error();echo '<br/>'; $idas=  mysql_insert_id($link); } mysql_close($link) ;  echo $idas; if (mysql_connect ("localhost","root","")) {    mysql_select_db ("gestiondesprestation"); $req2="insert into dossier ( id_dossier,requerand,etat_final,id_cl,id_br,police,dt_sinistre,ht_sinistre,lieu_sinistre,mt_prve_exp,garantie,id_as) values ('$idd','$req','stock','$cl','$idbr','$idpoli','$dtsi','$hs','$ls','$mont','$idgar','$idas')"; if (mysql_query ($req2)) echo "insertion de dossier effectué" ; else echo "insertion de dossier echoue"."  ".mysql_error();echo'<br/>'; }  

SVP aider moi a corriger le script ! :cry:

ViPHP
ViPHP | 1996 Messages

04 mai 2013, 18:54

On dirais que toutes les variables ('$idd','$req','stock','$cl','$idbr','$idpoli','$dtsi','$hs','$ls','$mont','$idgar','$idas')"; sont vides. Les as tu vérifiées ?
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Petit nouveau ! | 4 Messages

04 mai 2013, 19:40

merci beaucoup Aureusms pour votre réponse !
les variables ne sont pas null,
je n'est pas met le script complet .
quand je change la requête par changer $idas par autre chose comme 'asure1' , l'erreur mysql disparait et les donnée entrent dans la base de données .

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

05 mai 2013, 11:05

C'est quoi la partie manquante ?
Il y a quoi avant la première accolade ?

Si $idas est vide c'est qu'il n'y a pas d'insertion.


@+
Il en faut peu pour être heureux ......