probleme requete preparer et insert into

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme requete preparer et insert into

Re: probleme requete preparer et insert into

par roro1689 » 24 avr. 2011, 17:40

Merci beaucoup pour ton aide !!!

Re: probleme requete preparer et insert into

par misterflo » 24 avr. 2011, 17:37

Salut,
dans la requête SQL soit tu ne mets que des ? pour les champs (donc pas de "Pature = ?") , soit par exemple :Pature
Avec les ? l'ordre des champs est important, avec les :blalba ca ne l'est pas.
Pas de guillemet simple non plus dans le nom des champs !

Donc soit :
$req = $bdd->prepare(" INSERT INTO vache (Numero, Pature) VALUES (?,?)");
$req->execute(array($_GET['Numero1'],$_GET['Pature']));
Soit :
$req = $bdd->prepare(" INSERT INTO vache (Numero, Pature) VALUES (:numero,:pature)");
$req->execute(array(
'numero'=>$_GET['Numero1'],
'pature'=>$_GET['Pature']
));

probleme requete preparer et insert into

par roro1689 » 24 avr. 2011, 17:02

Bonjour
J'ai deja fait des requete preparé avec des select mais la j'ai un soucis avec un Insert Into mais j'ai l'erreur suivante:
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Numero', 'Pature') VALUES (Pature = 'senlis', Numero = '11')' at line 1
Je passe donc deux valeurs via un formulaire que je recupere dans la page suivante dans mon GET
voici mon code
<?php

try
{
$Numero=$_GET['Numero1'];
$Pature=$_GET['Pature'];

$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=ferme', 'root', '', $pdo_options);

$req = $bdd->prepare(" INSERT INTO vache ('Numero', 'Pature') VALUES (Pature = ?, Numero = ?)");
$req->execute(array($_GET['Pature'],$_GET['Numero1']));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

?>

Donc voila si vous pouviez m'aider car la je bloc vraiment
merci d'avance.