J'arrive pas à ecrire dans ma BDD

Profil bloqué -  
ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   -
j'arrive pas écrire dans ma BDD, or pourtant j'ai suivie progression du professeur .

j'ai tout fait, on affiche des messages d'erreur (qui me vont savoir que les variable sont indéfinie). besoin de votre aide.

voici me code en question.

<?php

try

{

$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');

}

catch(Exception $e)

{

die('Erreur : '.$e->getMessage());

}

$req = $bdd->prepare('INSERT INTO inscrip(nom, mail, age, pays, date) VALUES('colmix', 'sraphinthsaki@facebook.com',45,'France', '20/01/2013')');

$req->execute(array('nom' => $nom,

'mail' => $mail,

'age' => $age,

'pays' => $pays

'date' => $date,

));

echo 'bien ajouter !';

?>

lorsque je l'exécute on affiche "bien ajouter " comme l'indique mon echo
A voir également:

1 réponse

ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
Bonjour

je pense que tu as un simple problème dans l'écriture de ta requête.

tu écris ceci :

'INSERT INTO inscrip(nom, mail, age, pays, date) VALUES('colmix', 'sraphinthsaki@facebook.com',45,'France', '20/01/2013')'


or comme ta chaîne est encapsulée par un ', elle va s'arrêter dès qu'elle va rencontrer un autre '
alors pour résoudre ce problème, tu as 2 solutions, soit tu "échappes" les ' au sein de ta requête (avec le \), soit tu encapsules ta requête avec le caractère "

donc soit :

$req = $bdd->prepare("INSERT INTO inscrip(nom, mail, age, pays, date) VALUES('colmix', 'sraphinthsaki@facebook.com',45,'France', '20/01/2013')"); 


soit :

$req = $bdd->prepare('INSERT INTO inscrip(nom, mail, age, pays, date) VALUES(\'colmix\', \'sraphinthsaki@facebook.com\',45,\'France\', \'20/01/2013\')'); 


Moi je te conseille de mettre d'abord ta requête dans une variable, comme ça si tu as un soucis de syntaxe, tu pourras avoir une erreur php qui t'indiquera que ta requête est mal écrite.

$larequete = "INSERT INTO inscrip(nom, mail, age, pays, date) VALUES('colmix', 'sraphinthsaki@facebook.com',45,'France', '20/01/2013')"; 
$req = $bdd->prepare($larequete); 
1