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 :

Erreur PDO PDOStatement [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut Erreur PDO PDOStatement
    salut a tous,
    je débute avec PDO et je rencontre une erreur, mais je ne vois pas d'ou cela provient
    erreur : Warning: PDOStatement::execute(): SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected in /volume1/web/00dash/tccadm/paypal/db.class.php on line 27 array(0) { }
    Code : 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
    class DB{
     
    	private $host = 'localhost';
    	private $username = 'root';
    	private $password = 'password';
    	private $database = 'dashboard';
    	private $db;
     
    	public function __construct($host = null, $username = null,  $password = null, $database =null ){
    		if($host != null){
    			$this ->host = $host;
    			$this ->username = $username;
    			$this ->password = $password;
    			$this ->database = $database;
    		}
     
    		try{
     
    		$this->db  = new PDO('mysql:host=' .$this->host .';dbname ='.$this->database, $this->username, $this->password, array(PDO :: MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8', PDO :: ATTR_ERRMODE => PDO :: ERRMODE_WARNING));
    		}catch(PDOException $e){
    		die('<h1>Erreur connexion BDD </h1>');
    		}
    	}
    	public function query($sql){
    			$req = $this->db->prepare($sql);
    			$req->execute();
    			return $req->fetchAll();
     
    	}
    }
    puis la requete dans une autre page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($DB->query('SELECT * FROM catalogue'));
    ou est le blem.
    merci d'avance de votre aide
    Cdt

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    On peut voir l'initialisation de $DB dans la page où tu fais la requête ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    oui, la voici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    require 'db.class.php';
    $DB = new DB();
    Cdt

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Appelé sans paramètres, ton constructeur utilise les valeurs pas défaut : tu es sûr du nom de la bdd ? Tu n'as pas d'erreur à la connexion ?
    Au passage, tu gères les exceptions PDOException, mais tu as défini le mode d'erreur en Warning.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    re,
    oui je suis sur du nom de ma bdd et je n'ai pas d'erreur de connexion,
    je comprends pas ?

  6. #6
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    par contre si je met les identifiant en dur cela fonctionne
    cela veux dire que j'ai un blem ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'mysql:host='.$this->host .';dbname ='.$this->database, $this->username, $this->password,
    mais je vois pas ou ?

  7. #7
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    c'est bon j'ai trouvé l'erreur a la C.....
    un espace apres le . de host

    Désolé
    merci pour ton aide

    Cdt

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

Discussions similaires

  1. erreur PDO rowcount + transmission donnée $_POST
    Par kbazin dans le forum Langage
    Réponses: 8
    Dernier message: 05/08/2011, 10h50
  2. erreur PDO avec fetch() mysql avec netbeans
    Par soohikei dans le forum Administration
    Réponses: 14
    Dernier message: 28/06/2011, 15h56
  3. Erreur PDO et PHP
    Par herzak dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/03/2011, 14h03
  4. [PDO] Erreur PDO : Call to a member function fetch() on a non-object
    Par numerodix dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 01/03/2010, 17h37
  5. [PDO] Erreur PDO mysql
    Par stomerfull dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 11/02/2010, 14h37

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