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 ? )