Requette insert
kacimo22
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
kacimo22 Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
kacimo22 Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
bnj j'ai un brobleme avec ce code php ou la variable $id_ann recoit la valeur du dernier iD inseré
$bdd=new PDO('mysql:host=localhost;dbname=algerieservices','root','');
$reg=$bdd->prepare("INSERT INTO annonce VALUES('','$titre','$description','$montant','$id','$email','$telephone','$categorie','?',NOW(),'')");
$reg->execute();
$id_ann= $bdd->lastInsertId();
$reg4=$bdd->prepare("INSERT INTO image VALUES('','$id_ann','$nom_img','$chemin')");
$reg4->execute(array());
aidez moi svp de trouver l'erreur mrc.
$bdd=new PDO('mysql:host=localhost;dbname=algerieservices','root','');
$reg=$bdd->prepare("INSERT INTO annonce VALUES('','$titre','$description','$montant','$id','$email','$telephone','$categorie','?',NOW(),'')");
$reg->execute();
$id_ann= $bdd->lastInsertId();
$reg4=$bdd->prepare("INSERT INTO image VALUES('','$id_ann','$nom_img','$chemin')");
$reg4->execute(array());
aidez moi svp de trouver l'erreur mrc.
2 réponses
-
Bonsoir,
Je crois que tu n'as pas compris le principe des requêtes préparée !
le but est de passer tes variables en tant que paramètres, pour préparer la logique de la requête et éviter les injections sql.
Les doubles quotes avec variables sont a proscrire. Le temps d'exécution est bien plus lourd et le code est rendu illisible. la concaténation est à privilégier.
Sur une requête INSERT il est préférable de préciser les champs que l'on insert.
$bdd=new PDO('mysql:host=localhost;dbname=algerieservices','root',''); $reg=$bdd->prepare('INSERT INTO annonce( titre, description, montant, id, email, telephone, categorie, symbole, datetime ) VALUES( :titre, :description, :montant, :id, :email, :telephone, :categorie, :symbole, NOW()) )'; $values = array( 'titre' => $titre, 'description' => $description, 'montant' => $montant, 'id' => $id, 'email' => $email, 'telephone' => $telephone, 'categorie' => $categorie, 'symbole' => $symbole ) $reg->execute($values); $id_ann= $bdd->lastInsertId(); $reg4=$bdd->prepare('INSERT INTO image(id_ann,nom_img,chemin) VALUES(:id_ann,:nom_img,:chemin))'; $reg4->execute(array('id_ann' => $id_ann,'nom_img' => $nom_img,'chemin' => $chemin)); -
merci Atropa c'est ça la solution merci beaucoup.