Insertion dans une base de données avec PHP

Résolu/Fermé
badrband Messages postés 11 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 19 août 2012 - 18 août 2012 à 02:11
badrband Messages postés 11 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 19 août 2012 - 19 août 2012 à 02:13
Bonjour,

les amis j'ai un petit probleme avec l'insertion de données avec php et pdo ce code ne me revois aucune erreur mais lorsque j'accède a ma base de données les champs que j'ai ajouté ne s'affiche pas dans ma base de données.



<?php

try
{
$conn = new PDO('mysql:host=localhost;dbname=membres','root','');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

}
catch(PDOException $e)
{

echo 'la base de données est morte';
}

?>

<?php


if(!empty($_POST['login']) && !empty($_POST['mail']) && !empty($_POST['ville']))

{

$login = $_POST['login'];
$mail = $_POST['mail'];
$ville = $_POST['ville'];

$q = array(
'login' =>$login,
'mail'=>$mail,
'ville'=>$ville
);


$sql = 'INSERT INTO client (login, mail, ville) VALUES (:login , :mail , :ville)';
$req = $conn->prepare($sql);
$req->execute($q);



?>
<form action='connexion.php' methode='post'>
<input type='texte' name='login'>
<input type='texte' name='mail'>
<input type='texte' name='ville'>
<input type="submit" name="valider">
</form>
</body>
</html>


1 réponse

Utilisateur anonyme
18 août 2012 à 08:44
Bonjour

tes pamarètres nommés s'appellent :login,:mail et :ville, pas seulement login,mail et ville
$q = array(
':login' =>$login,
':mail'=>$mail,
':ville'=>$ville
); 


Comme dans l'exemple du manuel php à la méthode execute :
http://www.php.net/manual/fr/pdostatement.execute.php
0
badrband Messages postés 11 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 19 août 2012
18 août 2012 à 19:20
toujours le même problème les données ne sont pas inséré à la base de données
0
Utilisateur anonyme
18 août 2012 à 21:47
Ça ne m'étonne pas, je me rends compte que ma remarque était une bêtise. Après essais, :login ou login, les deux sont acceptés.

Par contre, je m'aperçois que dans ta balise <form> tu as mal écrit method, tu as écrit methode avec un e. Donc la variable $_POST doit être vide
corrige l'orthographe de method.
0
mimigenie Messages postés 1180 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 4 août 2018 313
18 août 2012 à 22:00
Petit détail ce bout de code :

}
catch(PDOException $e)
{

echo 'la base de données est morte';
}

?>

Se place en général tout en bas de bas juste avant la balise body, car cela sert à indiquer une erreur mais s'il n'y a rien entre les accolades, il n'y a rien à vérifié donc tu ne sais pas s'il y a une erreur ou non ( en particulier avec la connexion à la bdd, mais dans ton cas ca m'a l'air correct )
0
badrband Messages postés 11 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 19 août 2012
19 août 2012 à 02:10
hhhhhhhhhhhhhhhhhh tellement je suis idiot j'ai fait une faute de débutant ici
je te remercie de ton aide si précieux pour moi cher ami
0
badrband Messages postés 11 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 19 août 2012
19 août 2012 à 02:13
@mimigenie non ça cause pas de problème j'ai même fait une erreur pour voir est ce que il va m'afficher l'erreur ou non et il le m'a affiché et merci a vous aussi
0