[RESOLU] PDO INSERT INTO

Eléphanteau du PHP | 40 Messages

16 déc. 2015, 15:50

Bonjour voici mon problème depuis maintenant quelques jours j'essaye de me connecter à ma base de donnés pour insérer les donnés que l'utilisateur entre sur mon site, mais le problème c'est que aprés avoir mis en pratique le code PDO quand je remplis le formulaire rien na va dans ma bdd j'ai essayer plusieurs moyens rien n'y fait est également refait comme des tutos sur youtube est cela ne marche pas non plus quelq'un aurait une idée svp?

voici le code concerné :

Code : Tout sélectionner

<?php $Bdd = new PDO('mysql:host=localhost;dbname=membres', 'root', ''); $Requête = $Bdd->query('INSERT INTO membres (id, Pseudo, Email, Password, DateNaissance, DateInscription) VALUES (NULL,:Pseudo,:Email,:Password)') ?>
est j'ai le message d'erreur suivant qui s'affiche :

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1049] Base 'membres' inconnue' in C:\wamp\www\SoireeChat\Inscription.php on line 243

j'ai chercher sur youtube,google je refait pareil que les gens etc mais sa ne marche pas :/

est saurais vous ou pourrais-je apprendre le language sql ( je sais pas si c'est un language ou pas mais je veut dire les fonctions sql) autre que le site manualphp svp car j'ai déjà regarder dessus est je n'y comprend rien

Mammouth du PHP | 1935 Messages

16 déc. 2015, 15:59

si $Bdd = new PDO('mysql:host=localhost;dbname=membres', 'root', ''); est bien la ligne 243, alors la base de donnée qui contient la table membres ne s’appelle pas membres.

Eléphanteau du PHP | 40 Messages

16 déc. 2015, 16:05

Non la base de donnés qui contient membres s'appelle soireechat c'est ce que j'avais mis avant de metre membres mais aprés j'ai remplacé par membres car on ma dit que c'était membres qui fallait mettre ^^ je comprend plus rien faut que je mette soireechat ou membres ? voici une photo de ma bdd :

http://zupimages.net/viewer.php?id=15/51/bpw4.png

ViPHP
ViPHP | 3292 Messages

16 déc. 2015, 17:47

Le SQL aurait besoin d'un coup de formatage, écrire le sql pur en majuscule c'est une bonne idée pour la lisibilité, mais je rajouterais des backticks pour les noms de table et champs, des quotes pour les valeurs.

La structure d'une base de donnée est comme suit:

serveur de base de donnée -> base de donnée -> table

Ici ta table est membres, il n'y a pas de contraintes particulières à nommer une table comme sa base de donnée mais d'après ton screenshot la base est effectivement appelée soireechat donc corrige avec ça:

$Bdd = new PDO('mysql:host=localhost;dbname=soireechat', 'root', '');
Fait du php depuis que ca existe ou presque :)