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 :

Optimiser la mise à jour de la Base


Sujet :

PHP & Base de données

  1. #21
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Tu dois passer le résultat de mysqli_connect en premier paramètre de la fonction prepare. Tu dois passer ensuite le résultat de cette fonction aux autres fonctions qui te renvoient des erreurs (parmi celles que tu nous montre j'entends).

    Les messages d'erreurs sont explicites, essaye de les comprendre par toi-même. Tout ceci est expliqué dans la documentation : http://fr2.php.net/mysqli_prepare. N'hésite pas à la lire et à la relire tant qu'il faut (Php à une super doc, n'hésitons pas à en abuser !)
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  2. #22
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    Merci beaucoup pour l'aide !

    J'ai exécuté et j'ai aussi essayé de lire la documentation sur mysqli. Mais je suis bloqué sur l'erreur suivante, qui s'affiche:

    Warning: mysqli_stmt_bind_param(): Number of variables doesn't match number of parameters in prepared statement in C:\wamp\www\etudephp\mysqli.php on line 20

    Warning: mysqli_stmt_bind_param(): Number of variables doesn't match number of parameters in prepared statement in C:\wamp\www\etudephp\mysqli.php on line 21
    S'il vous plait aidez moi encore.

    Merci d'avance !

    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
    <?php
    set_time_limit(0);
    error_reporting(E_ALL ^ E_NOTICE);
     
    $db = mysqli_connect('localhost','root','', 'gestnum');
     
     
    //On ouvre le fichier en question (en lecture seule)
    $handle = fopen("fichab.txt", "r");
     
    // on prepare la requete
     
    $req = 'UPDATE coordab SET MEID=? WHERE IMSI =? ';
    $stmt = mysqli_prepare($db, $req);
     
    // variables : attention a  l'ordre des parametres
     
    $meid = '';
    $imsi = '';
     
    mysqli_stmt_bind_param($stmt, "s", $meid);
    mysqli_stmt_bind_param($stmt, "s", $imsi);
     
     
    //on parcours tout le fichier (en faisant croire qu'il s'agit d'un csv pour faciliter le traitement)
     
    while (($data = fgetcsv($handle, 0, " ")))
    {
        // renseignements des valeurs
        $meid = $data[1];
        $imsi = $data[0];
        // execution 
        mysqli_stmt_execute($stmt);
    }
    //on ferme le fichier
    fclose($handle);
    // on ferme la requete et la connextion
    mysqli_stmt_close($stmt);
    mysqli_close($db);
     
    ?>

  3. #23
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Essaye comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqli_stmt_bind_param($stmt, "ss", $meid,$imsi);
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  4. #24
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    Bonjour !

    Dès que vous m'avez envoyé cette ligne de code, j'ai remplacé comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //mysqli_stmt_bind_param($stmt, "s", $meid);
    //mysqli_stmt_bind_param($stmt, "s", $imsi);
    mysqli_stmt_bind_param($stmt, "ss", $meid,$imsi);
    .
    Et j'ai exécuté, mais jusqu'à présent ça tourne toujours, ça n'a pas encore fini l'exécution et sur le chrono que j'ai mis ça fait déjà 10 minutes.

    Que fait ?

    Aidez moi.

  5. #25
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    Cela a mis au total 17 minutes pour s'exécuter et à la fin, il a vidé toute la table coordab de la BDD et n'a rien inscrit à l'intérieur. Donc il a effacé le contenu de la table coordab.

    Aidez moi s'il vous plait.

Discussions similaires

  1. [C#] [MySQL] Mise à jour de la base de donnée
    Par dev01 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 01/08/2007, 09h15
  2. probleme de virgule dans la mise à jour d'une base de donnée
    Par KAF dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 24/12/2005, 02h18
  3. [VB6] Recordset.update et Mise à jour de ma base
    Par badgam piero dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 13/12/2005, 14h38
  4. mise à jour d'une base
    Par le géologue dans le forum Access
    Réponses: 7
    Dernier message: 17/11/2005, 09h46
  5. mise à jour d'une base de données
    Par flo83 dans le forum ASP
    Réponses: 6
    Dernier message: 12/06/2005, 20h27

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