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 :

mysqli : affected_rows avec un multi_query [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut mysqli : affected_rows avec un multi_query
    Bonsoir à tous.

    Je reprend le code exemple de multi_query de php.fr , et je remplace seulement
    les 2 SELECT par un UPDATE précédé d'un SELECT..

    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
    <?php
    $query  = "SELECT 'TOTO' INTO @lib_toto;";
    $query .= "UPDATE `table_toto` SET `field_toto`='blabla' WHERE `other_field_toto`=@lib_toto;";
     
    if ($mysqli->multi_query($query)) {
        do {
            /* Stockage du premier jeu de résultats */
            if ($result = $mysqli->use_result()) {
                while ($row = $result->fetch_row()) {
                    printf("%s\n", $row[0]);
                }
                $result->close();
            }
            /* Affichage d'une démarquation */
            if ($mysqli->more_results()) {
                printf("-----------------\n");
            }
        } while ($mysqli->next_result());
    }
    ?>
    Maintenant je ne veux aucun résultat retour, ni d'affichage de démarquation, je veux juste le nombre de ligne modifié renvoyé par $mysqli->affected_rows..

    ..je supprime donc la partie résultat, et la remplace par ce qui m'interesse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $query  = "SELECT 'TOTO' INTO @lib_toto;";
    $query .= "UPDATE `table_toto` SET `field_toto`='blabla' WHERE `other_field_toto`=@lib_toto;";
     
    if ($mysqli->multi_query($query)) {
        do {
     
            $ce_que_je_veux=$mysqli->affected_rows;
            echo "boucle..";
     
     
        } while ($mysqli->next_result());
    }
    ?>

    résultat : "boucle..boucle..boucle..boucle..boucle..boucle.."

    Comment placer ce $mysqli->affected_rows dans un multi_query ?
    (c'est peut-être pas prévu pour multi_query ? )

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Etant donné que ton seul echo c'est "boucle..", je ne vois pas pourquoi il t'afficherait autre chose.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    l'écho c'était simplement pour mettre simplement (mais c'est raté) en évidence que ça fait une boucle infinie..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] php/mysqli UPDATE avec jointure
    Par lvdesign dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 13/08/2014, 14h48
  2. [MySQL] [MySQLi] Probleme envoi avec Mysqli send long data
    Par hack-sel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/08/2008, 12h36
  3. Réponses: 3
    Dernier message: 03/03/2007, 14h28
  4. [phpMyAdmin] J'ai un problème avec phpMyAdmin : impossible de charger l'extension MySQLi
    Par Sanka76 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 24/01/2007, 13h48
  5. Réponses: 1
    Dernier message: 11/08/2005, 01h26

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