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 :

"SHOW DATABASES" en root avec PDO ne retourne rien [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Par défaut "SHOW DATABASES" en root avec PDO ne retourne rien
    Bonjour à tous !
    Je crois que tout est dit !

    Je me connecte en root sur MySQL avec PDO, et je fait un $oPdo->query ("SHOW DATABASES;"); et, chose bizarre, il ne me retourne rien en production, mais fonctionne en local !
    Pourtant, quand je fait la même requete sous phpMyAdmin (en prod), il me liste bien les bases de données !
    Qu'est-ce qui n'est pas correcte dans tout ca ??

    _ A la base je supposais une configuration de my.cnf, mais vu que phpMyAdmin me retourne bien ce que je veux, je ne pense pas.
    _ L'utilisateur root est bien identifié sinon j'aurai eu une erreur de la part de PDO lors de l'identification

    Voici le code utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $oPdo = new PDO ('mysql:host=127.0.0.1', 'root', 'password');
    $oPdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    try {
    	$this->oPdo->query ('SET NAMES utf8;')
    }
    catch (Exception $oE) {}
    echo $oPdo->query ('SHOW DATABASES;')->rowCount (); // Retourne 0
    NB: j'ai bien des bases hein :p

    Parce que là perso je vois vraiment pas :s

    Merci beaucoup pour votre aide !

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Par défaut
    Bon, problème solutionné !

    En fait, la méthode retournait bien quelque chose, le problème est que je testais avant la fonction rowCount

    Et en parcourant la doc, il s'est avéré que rowCount ne retourne le nombre de lignes que pour les requetes INSERT, UPDATE et DELETE et quelques SELECT, ca dépend du serveur .... pas très ingénieux ca de la part des créateurs de PDO ! ...

    Donc forcément, query ('SHOW DATABASES;')->rowCount (); retourne FORCEMENT 0 (mais pas sur tous les serveurs, c'est ca le pire !!!! sur ma machine en locale, ca fonctionnait, pas sur mon serveur en prod !!!).

    Bref, il faut pas utiliser rowCount ...

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

Discussions similaires

  1. [PDO] Requete PDO ne retourne rien
    Par azorol dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 12/06/2015, 15h12
  2. Requete avec quote et double quote
    Par swissmade dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/08/2007, 15h01

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