Insertion dans une base de données avec PHP [Résolu/Fermé]

Messages postés
11
Date d'inscription
vendredi 27 novembre 2009
Statut
Membre
Dernière intervention
19 août 2012
- - Dernière réponse : 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>


Afficher la suite 

1 réponse

0
Merci
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
badrband
Messages postés
11
Date d'inscription
vendredi 27 novembre 2009
Statut
Membre
Dernière intervention
19 août 2012
-
toujours le même problème les données ne sont pas inséré à la base de données
Utilisateur anonyme -
Ç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.
mimigenie
Messages postés
1189
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
202 -
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 )
badrband
Messages postés
11
Date d'inscription
vendredi 27 novembre 2009
Statut
Membre
Dernière intervention
19 août 2012
-
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
badrband
Messages postés
11
Date d'inscription
vendredi 27 novembre 2009
Statut
Membre
Dernière intervention
19 août 2012
-
@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