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 :

Script backup table Mysql en PDO


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut Script backup table Mysql en PDO
    Bonjour à tous,

    J'ai un soucis avec mon script de backup d'une table Mysql en PDO.

    Voici l'erreur :
    Fatal error: Call to a member function fetchAll() on a non-object

    Et voici mon script:

    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
    try {
    $connexion = new PDO('mysql:host='.$dbhost.';dbname='.$dbdb, $dbuser, $dbpass);
    }
    catch (PDOException $e) {
     print "Erreur !: " . $e->getMessage() . "<br/>";
     die();
    }
     
     
    $table_name = "gghf_rando";
    $backup_file  = "backup.sql";
    $resultats=$connexion->query("SELECT * INTO OUTFILE '$backup_file' FROM $table_name WHERE rando = '$rand' AND annee = '$annee'  ");
    $resultats->setFetchMode(PDO::FETCH_OBJ);
     
     
    $connexion = null;
    Le problème se situe à cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultats->setFetchMode(PDO::FETCH_OBJ);
    Mais je ne m'y connais pas assez pour débugger le script.

    Merci pour votre aide

  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
    C'est l'intégralité du script ? L'erreur parle de la fonction fetchAll, mais je ne vois pas d'appel à fetchAll.
    Da façon générale, ce genre d'erreur peut provenir d'un échec de la requête (on ne peut pas parser les résultats d'une requête qui plante)

  3. #3
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    Hello merci pour ton aide,

    Voici le script complet:

    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
    31
    32
    33
    34
    35
    <?php
    session_start();
    $annee = date('Y') ;
    if(!empty($_POST))
       {
                 $_SESSION['rando'] = $_POST;
     
       }
    $rand = trim($_SESSION['rando']['rando']);
     
     
    //unlink("C:/wamp/bin/mysql/mysql5.6.17/data/test/backup.sql");
     
    //Sauvegarde table
     
    $dbhost = 'localhost';
    $dbuser = 'xxxx';
    $dbpass = 'xxxx';
    $dbdb = 'test';
     
    try {
    $connexion = new PDO('mysql:host='.$dbhost.';dbname='.$dbdb, $dbuser, $dbpass);
    }
    catch (PDOException $e) {
     print "Erreur !: " . $e->getMessage() . "<br/>";
     die();
    }
     
     
    $table_name = "gghf_rando";
    $backup_file  = "backup.sql";
    $resultats=$connexion->query("SELECT * INTO OUTFILE '$backup_file' FROM $table_name WHERE rando = '$rand' AND annee = '$annee'  ");
    $resultat = $resultats->fetch(PDO::FETCH_OBJ);
     
    $connexion = null;

    J'ai modifié la ligne en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = $resultats->fetch(PDO::FETCH_OBJ);
    Sans succès car même erreur.

Discussions similaires

  1. [MySQL] Script PHP + Table MySQL (comparaison de date)
    Par laztog dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/06/2014, 17h22
  2. Script automatisé backup BDD Mysql
    Par Dreamtale dans le forum Linux
    Réponses: 3
    Dernier message: 22/12/2010, 17h54
  3. concaténation de script et table mysql
    Par jim1 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/06/2008, 14h19
  4. Réponses: 2
    Dernier message: 06/12/2007, 15h11
  5. [sgbd] Backup de tables MySQL auto, qqun sait ???
    Par Joelindien dans le forum SGBD
    Réponses: 31
    Dernier message: 26/05/2003, 17h59

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