Insertion dans une base de données avec PHP

Résolu
badrband Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
badrband Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
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>


A voir également:

1 réponse

Utilisateur anonyme
 
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   Statut Membre Dernière intervention  
 
toujours le même problème les données ne sont pas inséré à la base de données
0
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.
0
mimigenie Messages postés 1180 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
@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