IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Connexion à une base de données MySQL [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 22
    Par défaut Connexion à une base de données MySQL
    Bonjour,

    Je cherche à créer un forum pour le présenter pour mon BTS et je bloque, car je n'arrive pas à me connecter à ma base de données sous WAMP.

    Voici ce que j'ai sorti, ce n'est pas bien compliqué, mais ca ne marche pas...
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    	if(isset($_POST['nom']) AND isset($_POST['prenom']) AND isset($_POST['pseudo'])AND isset($_POST['Email']) AND isset($_POST['password1']) AND isset($_POST['password2']));
    	{
    		$_POST['Email'] = htmlspecialchars($_POST['Email']);
    		if ((preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['Email'])) AND ($_POST['password1']==$_POST['password2']))
    		{
    			try
    			{
    				$bdd = new PDO('mysql:host=localhost;dbmane=bts_projet','root','');
    				$bdd -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    			}
    			catch(PDOException $e) 
    			{
    				$msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
    				die($msg);
    			}
    			if($bdd)
    			{
    				$trouve = false;
    				$reponse = $bdd->query('SELECT Nom, Prenom, Email, Password, Pseudo FROM inscrit');
    				while($donnee = $reponse -> fetch() AND !$trouve)
    				{
    					if(($_POST['nom']=$donnee['Nom']) AND ($_post['prenom']=$donnee['Prenom']) AND ($_POST['Email']=$donnee['Email']))
    					{
    						$trouve=true;
    					}
    				}
    				$reponse -> closeCursor();
    				if(!$trouve)
    				{
    					$req = $bdd ->prepare('INSERT INTO inscrit (Nom, Prenom, Email, Password, Pseudo, Date_inscription) VALUES(?, ?, ?, ?, ?,NOW())');
    					$req -> execute(array($_POST['nom'],$_POST['prenom'],$_POST['Email'],$_POST['password1'],$_POST['pseudo']));
    				}
    			}
    		}
    	}
    ?>

    Si une âme charitable pouvait m'expliquer d'où vient le problème, car je bloque.
    Le message renvoyé par l'exception c'est :
    PDOException: SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
    Alors je suppose qu'il n'y a rien dans $bdd donc que la connexion a échoué à faire la requête.
    J'ai testé la requête dans phpadmin et elle marche.

  2. #2
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Ligne 9, il faut écrire $bdd = new PDO('mysql:host=localhost;dbname=bts_projet','root',''); (dbmane => dbname)

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 22
    Par défaut
    D'accord, je ne sais plus où me mettre...
    Si vous voyez d'autres erreurs, n'hésitez pas et merci du coup de main ^^

    Et bonne année !

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Est-ce bien des affectations que tu veux faire ligne 23 ou des comparaisons ? (== au lieu de =)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connexion à une base de données mysql
    Par hananemeryem dans le forum JDBC
    Réponses: 1
    Dernier message: 11/11/2007, 16h34
  2. Réponses: 1
    Dernier message: 19/07/2007, 21h09
  3. Problème de connexion à une base de donnée MySQL
    Par casho dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/06/2007, 14h04
  4. connexion à une base de données mysql depuis c++
    Par btissama4 dans le forum C++
    Réponses: 4
    Dernier message: 16/02/2007, 11h55
  5. Connexion à une base de données mysql via access
    Par eautret dans le forum Access
    Réponses: 2
    Dernier message: 07/04/2006, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo