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

Langage PHP Discussion :

requête Load data infile


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Par défaut requête Load data infile
    Bonjour étant débutant en PHP et ayant réaliser une petite page PHP qui fonctionne très bien sous mon serveur WAMP mais devant passer celle-ci sous serveur LAMP il m'affiche une erreur qui est donc Array ( [0] => 0000 [1] => [2] => )1
    Je sais que l'erreur viens de la requête Load data infile mais je ne sais pas comment la régler.. merci de votre aide.


    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    ?php
    /* Connexion bdd */
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=historique;charset=utf8', 'root', '');
    }
    catch (Exception $e)
    {
            die('Erreur : ' . $e->getMessage());
     
    }
     
    $rep = $bdd->query("TRUNCATE TABLE historique");
     
     
    // envoie des données du fichier txt à la base
     $req =$bdd->query("LOAD DATA  INFILE 'C:/wamp/www/MFR/text5.txt'
     	INTO TABLE historique
    FIELDS 
    TERMINATED BY ';'
    ENCLOSED BY '\\\"'
    ESCAPED BY '\\\\'
    LINES
    STARTING BY ''
    TERMINATED BY '\\n'
    (heure,site,ip)
    ") or die (print_r($bdd->errorInfo()));
     
     
    if (!isset($_GET['startrow'])) {
    $startrow=0;
     
    }
     else {
      $startrow = $_GET['startrow'];
    }
     
     
     
     
    $fetch = $bdd->query("SELECT * FROM historique  LIMIT  $startrow,10")or
    die(mysql_error());
     
            echo "<table border=2>";
            echo "<tr><td>IP</td><td>SITE</td><td>DATE</td></tr>";
     
     
           while ($row=$fetch->fetch()){
     
    			echo "</td> <td> ";	
     
    		echo  $row['heure'];
    			echo "</td> <td>" ;
    			echo  $row['site'];
    			echo "</td> <td>" ;
    			echo  $row['ip'];
    			echo "</td> </tr>" ;   
     
     
        }
            echo"</table>";
     
    echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.($startrow+10).'">Next</a>';
     
     
    $prev = $startrow - 10;
     
    //only print a "Previous" link if a "Next" was clicked
    if ($prev >= 0)
        echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.$prev.'">Previous</a>';
    ?>
     
     
    </table>

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 29
    Par défaut
    Hello,
    Voici une commande que j'ai faite il y as quelques jour en utilisant load data local infile (je sais pas vraiment la différence entre load data infile & local infile ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqli_query($link,'LOAD DATA LOCAL INFILE "'.$old.'"  INTO TABLE '.$nomtable.' FIELDS TERMINATED BY \';\' ENCLOSED BY \'"\' ESCAPED BY \'\' LINES TERMINATED BY \',\' IGNORE 1 LINES ')){
    Ici $old indique un chemin, qui est D:/Uwamp/UwAmp/www/Stagephp/FichierCSV/nomdufichier
    Les champs suivant indique la syntaxe a respecter dans ton fichier CSV. (je ne comprend pas pourquoi il y a autant de \\\ dans tes champs) ici, le \ est un symbole d'evitement (j'ai pas le nom exact) mais le code fais comme si il n'étais pas la.

  3. #3
    Membre chevronné
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // envoie des données du fichier txt à la base
    $req = $bdd->query('LOAD DATA LOCAL INFILE \'C:/wamp/www/MFR/text5.txt\'
        INTO TABLE historique
        FIELDS TERMINATED BY \';\' 
        ENCLOSED BY \'"\' 
        ESCAPED BY \'\' 
        LINES TERMINATED BY \',\' 
        IGNORE 1 LINES
    ');
    or die (print_r($bdd->errorInfo()));
    IGNORE 1 LINES si tu as (heure, site, ip) comme colonnes de la première ligne de ton fichier CSV. sinon, tu le retire.

Discussions similaires

  1. Php débutant : Problème de redirection
    Par gueguenk dans le forum Langage
    Réponses: 1
    Dernier message: 14/03/2013, 11h53
  2. [COM] PHP::COM et Apache
    Par lebdenat dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 12/06/2006, 15h59
  3. Réponses: 3
    Dernier message: 24/09/2005, 10h34
  4. Réponses: 1
    Dernier message: 12/09/2005, 12h28
  5. [DB2] problèmes de débutant
    Par rémi_tounul dans le forum DB2
    Réponses: 4
    Dernier message: 21/04/2005, 18h08

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