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 fetchAll() pour accéder à admin.php [PDO]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Erreur fetchAll() pour accéder à admin.php
    Bonjour,

    J'ai acquis un template avec différentes fonctions (blog, newsletter...) et uploadé tous les fichiers chez mon hébergeur (OVH).
    J'ai aussi paramétré un fichier settings.php avec les infos de la BDD MyQL de chez OVH.

    Mais quand j'essaie de lancer la page admin (monsite.com/admin.php) j'ai ce message d'erreur
    Fatal error: Call to a member function fetchAll() on a non-object in /home/psconsei/www/admin/SQLite_Repository.php on line 155

    Le code correspondant sur SQLite_Repository.php (qui est dans un répertoire /admin/ est

    Code php,144 : 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
     
    <?php 
     
    function remove_email_address($email_id)
        {
            $stm = $this->db->prepare('DELETE FROM newsletter_emails WHERE id= :email_id');
            $ok = $stm->execute(array(':email_id' => $email_id));
            return $ok;
        }
     
        private function get_all_settings_name()
        {
            $settings_name = array();
            $result = $this->db->query('SELECT s_name FROM '.Repository::$SETTINGS_TABLE_NAME);
            $rows = $result->fetchAll();
            foreach ($rows as $row) {
                array_push($settings_name, $row['s_name']);
            }
            return $settings_name;
        }
     
    }
    ?>

    La ligne 155 est: $rows = $result->fetchAll();

    Quelqu'un a-t-il une idée ?

    Pour info, la liste des fichiers dans le répertoire /admin/ est
    - db.php
    - finesse_db
    - index.php
    - MySQL_repository.php
    - Repository.php
    - Repository_Factory.php
    - SQLite_Repository.php
    - util.php

    Etant neophyte, merci d'avance de votre compréhension...

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Es-tu sûr que la requête s'exécute correctement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result = $this->db->query('SELECT s_name FROM '.Repository::$SETTINGS_TABLE_NAME);
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour voir l'erreur, active les exceptions PDO :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $result = $this->db->query('SELECT s_name FROM '.Repository::$SETTINGS_TABLE_NAME);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Candidat au Club
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Erreur générée
    J'ai inséré la ligne de code, et voici le message de l'erreur:

    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 11 database disk image is malformed' in /home/psconsei/www/admin/SQLite_Repository.php:155 Stack trace: #0 /home/psconsei/www/admin/SQLite_Repository.php(155): PDO->query('SELECT s_name F...') #1 /home/psconsei/www/admin/SQLite_Repository.php(25): SQLite_Repository->get_all_settings_name() #2 /home/psconsei/www/admin/Repository_Factory.php(15): SQLite_Repository->__construct() #3 /home/psconsei/www/admin/db.php(6): Repository_Factory::get_instance() #4 /home/psconsei/www/admin.php(8): include_once('/home/psconsei/...') #5 {main} thrown in /home/psconsei/www/admin/SQLite_Repository.php on line 155

    donc quelles suggestions pour la suite ? merci

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bon, j'ai trouvé.

    En fait je la ligne 155 en cause était
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result = $this->db->query('SELECT s_name FROM '.Repository::$SETTINGS_TABLE_NAME);

    J'avais mal entré les paramètres de la BDD dans settings.php

    Merci à tous les deux pour m'avoir orienté vers la solution.

    Je clos la discussion.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/06/2014, 14h36
  2. Problème pour accéder à la page Admin
    Par Jiyuu dans le forum Django
    Réponses: 13
    Dernier message: 21/12/2010, 20h19
  3. Réponses: 1
    Dernier message: 29/11/2008, 10h01
  4. erreur javascript pour modifier select avec tableau PHP
    Par omdafer dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 24/03/2008, 12h27
  5. Réponses: 5
    Dernier message: 16/02/2008, 05h55

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