OVH Community, votre nouvel espace communautaire.

Insertion d'un champ dans une base de données.


jeanrem
01/04/2012, 12h56
Merci de votre aide mais c'est bon j'ai trouvé la solution, il fallait remplacer le "exec" par "prepare" car il y a des variables $_POST

jeanrem
01/04/2012, 11h08
Si tu as juste remplaces tes identifiants par des ***** et que les cotes ' sont reellement absentes, ta connexion a la base ne doit par marcher...
Non j'ai juste mis des * afin de ne pas dévoiler mes identifiant et mot de passe mias j'ai déja testé la connexion pour récupérer les données de la table et ça marche très bien...

flap
01/04/2012, 11h05
Citation Envoyé par jeanrem
Non ca ne vient pas de là car la connexion avec la bdd est réussi, je pense que ça ient plus de cette ligne le mais je ne sais pas exectement où est l'erreur...
Si tu as juste remplaces tes identifiants par des ***** et que les cotes ' sont reellement absentes, ta connexion a la base ne doit par marcher...

jeanrem
01/04/2012, 10h55
Tu ne veux pas creer un nouveau champs mais rajouter un nouvel enregistrement dans ta table...
Oui c'est exactement ça, désolé d'avoir employé un vocabulaire inadapté j'ai pas fait exprès :/

jeanrem
01/04/2012, 10h29
Peut etre que ton soucis vient du fait qu'apres dbname= il manque la ' ouvrante autour du nom de la base...

Sinon, ca peut aussi venir du nom du host qui n'est pas entourre de ' ' non plus...
Non ca ne vient pas de là car la connexion avec la bdd est réussi, je pense que ça ient plus de cette ligne le mais je ne sais pas exectement où est l'erreur...
$req = $bdd->exec('INSERT INTO article(titre, intro, article, quand) VALUES(:titre, :intro, :article, NOW())');

flap
01/04/2012, 10h26
Citation Envoyé par Gaston_Phone
A quoi servent les ":" dans VALUES(:titre
C'est pour dire a ta requete que ce sont des noms de variables qui seront initialisees juste apres...

a+

flap
01/04/2012, 10h25
Salut,

Citation Envoyé par jeanrem
Bonjour, je viens vous demander votre aide car j'ai un problème pour rentrer un nouveau champs dans ma base de données... Voici mon code, si vous pouviez me dire ce qui ne vas pas se serait cool


Merci d'avance
Tu ne veux pas creer un nouveau champs mais rajouter un nouvel enregistrement dans ta table...

$bdd = new PDO('mysql:host=mysql51-58.perso;dbname=***********', '************', '************', $pdo_options);

Peut etre que ton soucis vient du fait qu'apres dbname= il manque la ' ouvrante autour du nom de la base...

Sinon, ca peut aussi venir du nom du host qui n'est pas entourre de ' ' non plus...

A+

jeanrem
01/04/2012, 10h23
J'ai vue ça dans un tutoriel, apparemment c’est pour renvoyer a l'array...

Gaston_Phone
01/04/2012, 10h00
A quoi servent les ":" dans VALUES(:titre

jeanrem
01/04/2012, 09h58
Bonjour, je viens vous demander votre aide car j'ai un problème pour rentrer un nouveau champs dans ma base de données... Voici mon code, si vous pouviez me dire ce qui ne vas pas se serait cool
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=mysql51-58.perso;dbname=***********', '************', '************', $pdo_options);

$req = $bdd->exec('INSERT INTO article(titre, intro, article, quand) VALUES(:titre, :intro, :article, NOW())');
$req->execute(array(
'titre' => $_POST['titre'],
'intro' => $_POST['intro'],
'article' => $_POST['article'],
));

echo 'L\'article a bien été ajouté !';
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
Merci d'avance