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 :

alimentation d'une base mysql à partir d'une autre base


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 41
    Points : 23
    Points
    23
    Par défaut alimentation d'une base mysql à partir d'une autre base
    bonjour à tous ma tâche consiste à alimenter une base de données mysql à partir d'une autre base de donnée

    j'ai fait un script qui recupere les données de la premiere bas et les insère au niveau de la deuxième pour tester les deux bases sont sous le meme serveur mysql .

    la récupération se fait à merveille mais l'insertion non j'ai essayer de tester la requete de l'insertion grace à phpmyadmin la requete passe sans blem voici mon code :
    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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
     
    <?
    // première ébauche de l'application
     
    $titre ="connection to users" ;
     
    //parametre de connexion
     
     
    $host = "localhost"; 
    $user = "root"; 
    $password = ""; 
    $database = "user"; 
     
    $conn = mysql_connect($host,$user,$password); 
    if (!$conn) { 
        echo "Connection impossible\n"; 
        exit; 
    } 
     
     
     
     
    ?>
    <html>
    <head><title><? echo $titre ; ?></title></head>
    <body>
    <h1><? echo $titre; ?></h1>
    <form action="" method="POST">
    date : <input type="text" name="jour" size="2">
    / <input type="text" name="mois" size="2">
    / <input type="text" name="annee" size="4">
     
    <input type="submit" name="go" value="chercher">
    </form>
    <hr>
    <table border="1">
    <tr><th>ID</th><th>Login</th><th>Password</th><th>Nom</th><th>Prénom</th><th>Entite</th><th>Mail</th><th>Tel-pro-fix</th> <th>statut</th></tr>
    <?
    $sql = "SELECT Id, Login, Password, Nom, Prenom, Entite, Mail, Tel, Statut FROM utilisateur";
    $a=mysql_select_db($database,$conn);
    print_r("coucou",$a);
    $result = mysql_query($sql, $conn);
     
     
    //chaine de connexion pour la deuxieme base
     
     
     
    $database1 = "glpi"; 
     
     
    $a1=mysql_select_db($database1,$conn);
     
     
     
     
     
    while($row = mysql_fetch_array($result)) { 
     
    // requete:
     
     
    $sql1 = "INSERT INTO `glpi_users` ( `ID` , `name` , `password` , `password_md5` , `email` , `phone` , `phone2` , `mobile` , `realname` , `firstname` , `location` , `tracking_order` , `language` , `list_limit` , `active` , `comments` , `id_auth` , `auth_method` , `last_login` , `date_mod` , `deleted` ) 
    VALUES (
    ' ',".$row["Login"].",".$row["Password"].", NULL ,".$row["Mail"].", ".$row["Tel"].", NULL , NULL ,".$row["Prenom"].",".$row["Nom"].", '1' , '0', NULL , '20', '1', NULL , '-1', '-1', '0000-00-00 00:00:00', '0000-00-00 00:00:00', '0'
    )";
     
     
     
    echo "<tr>
    <td>".$row["Id"]."</td>
    <td>".$row["Login"]."</td>
    <td>".$row["Password"]."</td>
    <td>".$row["Nom"]."</td>
    <td>".$row["Prenom"]."</td>
    <td>".$row["Entite"]."</td>
    <td>".$row["Mail"]."</td>
    <td>".$row["Tel"]."</td>
    <td>".$row["Statut"]."</td></tr>" ;
     
    //Insertion
     
    $result1 = mysql_query($sql1, $conn);
     
     
     
    }
    ?>
    </table>
    </body>
    </html>

    L'erreur que j'obtient est la suivante :



    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\extraction\index.php on line 67
    la ligne 67 est celle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ' ','.$row["Login"].8','.$row["Password"].', NULL ,'.$row["Mail"].', '.$row["Tel"].', NULL , NULL ,'.$row["Prenom"].','.$row["Nom"].',
    pour tester sur phpmyadmin j'ai changé les ".$row[$Login]." par
    '.$row[$Login].' histoire de la rendre une simple chaine de caractère


    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
    De but en blanc, je dirais qu'un des éléments de ton tableau $row (donc un des champs de ta table) contient quelque chose qui ne peut être transformé en chaine de caractères.

    Peut-on avoir la structure de la table d'origine ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 41
    Points : 23
    Points
    23
    Par défaut
    voila la structure :

    Id int
    Login varchar
    password varchar
    Nom varchar
    Prenom varchar
    Mail varchar
    Tel varchar
    Entite varchar
    statut varchar

    je pense que ce n'est pas le probleme car comme je l'ai dit tt à l'heure la requete passe sur phpmyadmin et elle ne passe pas en utilisant le PHP

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    fais un echo de $sql1 pour voir ce qu'elle te retourne

    Sinon autre question : tu ne peux pas directement le faire en 1 requete?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into table1
    select col1,col2,null, .... from table2

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/08/2014, 10h05
  2. Réponses: 19
    Dernier message: 07/07/2010, 16h30
  3. Copier une DB mysql distante vers une DB mysql local
    Par miniil dans le forum Développement de jobs
    Réponses: 11
    Dernier message: 13/11/2009, 10h33
  4. [MySQL] insertion dans la base mysql à partir d'une liste déroulante
    Par etudianti4 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/10/2008, 16h58
  5. Réponses: 11
    Dernier message: 01/05/2007, 23h43

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