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 :

[SQL] Rêquete SQL difficile à expliquer...


Sujet :

PHP & Base de données

  1. #21
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par défaut
    @titoumimi ==> ben mes fichiers sont en .log et quand je fais le test pour avec 'log', ça me retourne bien "mon fichier est un .log
    (comprends pas trop pourquoi tu voulais tester ça ...)

    @Bebel ==> Oui c'était toujours l'erreur "sql query was empty"
    Quand j'enleve les \ (en fait je n'ai plus qu'un seul \ au lieu de deux pour les chemin c'est bien ça ?)

    ça me met l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning:  Unexpected character in input:  '\' (ASCII=92) state=1 in /var/www/index.php on line 54
    
    Parse error:  parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/index.php on line 54 

  2. #22
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    euh non juste enlever le \" au debut et \" a la fin du chemin, sinon il faut doubles les \ pour que php le comprenne en temps que tels.

    Si ca marche pas essaye en remplacant les \\ par un /

  3. #23
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    Citation Envoyé par draho
    (comprends pas trop pourquoi tu voulais tester ça ...)
    Juste pour être sur que tu fasse ta requête sur les bons fichiers, et pas sur le ., .. ou autres
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  4. #24
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par défaut
    Alors:
    avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "LOAD DATA LOCAL INFILE \\var\\log\\sauvegarde\\" . $file . " INTO TABLE matable";
    J'obtiens l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LOAD DATA LOCAL INFILE \var\log\sauvegarde\.. INTO TABLE matable
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '\var\log\sauvegarde\.. INTO TABLE matable' at line 1
    Quand je mets des "/" c'est idem

  5. #25
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    fais voir ton code s'il te plait cela sera beaucoup plus simple

  6. #26
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par défaut
    Ouais là à force de faire, refaire et défaire je suis perdu.
    Je vais faire le point au calme, pour tout vérifier, et je mettrai tout ça après

    Merci beaucoup en tout cas.

  7. #27
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par défaut
    [EDIT] j'ai réussi à résoudre cette erreur
    Je continue et je vous tiens au courant (si vous voulez...)

  8. #28
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Et l'erreur venait d'ou alors?

  9. #29
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par défaut
    Bon voilà où j'en suis

    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
    $handle = opendir('/var/log/sauvegardes') ;
        echo "Directory handle: $handle <br>";
        echo "Files: <br>";   
       /* Ceci est la façon correcte de traverser un dossier. */
    while ($file = readdir($handle)) 
    {    echo "$handle";
     
        if ($file != "." && $file != "..") 
        {
            echo "$file<br>";
            //On met à jour la base de donnée
            $sql = "LOAD DATA LOCAL INFILE \"/var/log/sauvegardes/".$file."\" INTO TABLE sauve FIELDS TERMINATED BY '...' LINES TERMINATED BY '\r'";
            //On envoie la requête
            $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());        
            echo "<br>requete normalement envoyé<br>";
            closedir($handle);
        }
    }
    Je reçois l'erreur sur ma page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning:  readdir(): 3 is not a valid Directory resource in /var/www/index.php on line 41 
    La ligne 40 étant le while

  10. #30
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Sur ce coup la, je ne vois pas d'erreur du moins au niveau de la synthaxe.
    la seule raison possible et qu'il y a une erreur dans la lecture du chemin
    essaye avec cela.
    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
     
    $handle = opendir('/var/log/sauvegardes') ;
    echo "Directory handle: $handle <br>";
    echo "Files: <br>";
    /* Ceci est la façon correcte de traverser un dossier. */
    if ($handle !== false)
    {
     while ($file = readdir($handle))
     {
      echo "$handle";
      if ($file != "." && $file != "..")
      {
       echo "$file<br>";
       //On met à jour la base de donnée
       $sql = "LOAD DATA LOCAL INFILE \"/var/log/sauvegardes/".$file."\"
            INTO TABLE sauve FIELDS TERMINATED BY '...' LINES TERMINATED BY '\r'";
       //On envoie la requête
       $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
       echo "<br>requete normalement envoyée<br>";
       closedir($handle);
      }
     }
    }
    else 
    {
     echo "erreur d'accès au dossier";
    }

  11. #31
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par défaut
    ça me met toujours la même erreur

  12. #32
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    et un var_dump de $handle donne quoi?

  13. #33
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par défaut
    ça retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resource(3) of type (stream)
    Si j'ai bien fait ce que tu voulais

  14. #34
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Je crois que je viens de trouver la raison de l'erreur, si ce n'est pas ca, la ca depassera mes capacités.
    il faut que tu sortes le closedir($handle); de ta boucle.
    ferme uniquement le $handle a la fin de ta boucle.

  15. #35
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par défaut
    Ouf ça marche
    C'est vrai j'aurai du penser de sortir le close de la boucle...

    [EDIT]Merci infiniement de votre aide.

Discussions similaires

  1. Requête sql pas si difficile au final
    Par nicocotiers dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/09/2012, 11h30
  2. Création d'une rêquete SQL pure
    Par Australia dans le forum Doctrine2
    Réponses: 5
    Dernier message: 18/07/2012, 12h11
  3. affecter les resultats d'une rêquete SQL à une table
    Par soforan dans le forum Bases de données
    Réponses: 8
    Dernier message: 01/01/2009, 22h05
  4. [VB][SQL Server]Début difficiles
    Par javaboy dans le forum VB.NET
    Réponses: 10
    Dernier message: 07/03/2008, 13h16
  5. Questions sur les rêquetes sql oracle?
    Par naima2005 dans le forum SQL
    Réponses: 6
    Dernier message: 24/12/2007, 13h57

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