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

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


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
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.
Messages postés
1180
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
257
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 )
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
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