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 :

PDO ne fonctionne plus sur web [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut PDO ne fonctionne plus sur web
    Bonjour,

    j'utilise PDO pour me connecter à ma base de données MySQL. J'ai développé une classe qui utilise les fonctions de PDO mais quand je tranfert mon site sur son emplacement web mes fonctions ne fonctionnent plus. En local je n'ai pas de problème (XAMPP).
    J'ai une page blanche et de temps en temps j'ai une erreur :
    constructors arguments must be passed as an array
    OU
    fail to instantiate user supplied statement class
    OU
    Warning: PDO::prepare() [function.PDO-prepare]: SQLSTATE[00000]: No error: PDO constructor was not called
    Ma class PHP
    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
    class db
        {
     
            public function __construct()
          {}
     
            static function connexion ()
            {
     
                $Connexion = new PDO('mysql:host='.PARAM_BD_HOTE.';dbname='.PARAM_BD_BASE, PARAM_BD_LOGIN, PARAM_BD_MDP);
     
                return $Connexion ;
            }
     
            function RequeteSelect ($table, $champ)
            {
                $Connexion_BD = self::connexion();
     
                $Select = $Connexion_BD->prepare('SELECT '.$champ.' FROM '.$table );
     
                $Select->Execute();
     
                $Retour_Requete = $Select->fetchAll();
     
                // fermeture connexion
                $Select = null;
     
                return $Retour_Requete ;
    }
    Je n'arrive pas à comprendre se qui se passe !

    Merci pour votre aide

  2. #2
    Membre chevronné
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Par défaut
    Je crois que avec PHP 5, l'extension pdo n'est pas activée par défaut. Donc il faut peut être tout simplement que tu l'actives sur ton site de prod (php.ini)

  3. #3
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    Si je fais un phpinfo() de mon site j'ai :
    Configure Command : ...'--disable-pdo'...
    additional .ini files parsed : ..., /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_sqlite.ini,...
    PDO drivers : mysql, sqlite, sqlite2
    pdo_mysql : rien
    Je dois en conclure que PDO n'est pas activé ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as ici des éléments sur le fait que le constructeur soit static/public :
    http://www.developpez.net/forums/d85...s-constructor/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    Merci pour le lien sabotage mais je n'arrive pas à faire le lien entre ce post et mon problème. Ai je loupé un point important ?

  6. #6
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    Je crois que ca vient plutôt d'une mauvaise configuration de mon serveur car en local tout fonctionne bien.
    Je suis un peu perdu pour faire l'installation de PDO sur Linux. Quelqu'un pourrait m'aide ?
    J'ai trouvé ce tuto http://www.docmirror.net/fr/php/ref.pdo.html mais je bloque sur la deuxième étape, je ne comprend pas ?
    Je dois recompiler PHP ? Je dois activer quelque chose ?

    Merci

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/02/2010, 08h17
  2. Réponses: 8
    Dernier message: 29/09/2008, 20h23
  3. DLL qui ne fonctionne plus sur un ordinateur
    Par Mikmacer dans le forum C++
    Réponses: 1
    Dernier message: 22/07/2008, 09h07
  4. C++ programme ne fonctionne plus sur autre PC
    Par Benjimo dans le forum C++
    Réponses: 5
    Dernier message: 13/06/2007, 10h58
  5. les actions ne fonctionnent plus sur ma page
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 47
    Dernier message: 14/11/2005, 13h45

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