Requette insert
kacimo22
Messages postés
33
Statut
Membre
-
kacimo22 Messages postés 33 Statut Membre -
kacimo22 Messages postés 33 Statut Membre -
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.
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));