mysqli_stmt_affected_rows

(PHP 5)

mysqli_stmt_affected_rows

(no version information, might be only in CVS)

mysqli_stmt->affected_rows -- Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête

Description

Style procédural

int mysqli_stmt_affected_rows ( mysqli_stmt stmt )

Style orienté objet (méthode)

class mysqli_stmt {

int affected_rows

}

mysqli_stmt_affected_rows() retourne le nombre de lignes affectées par une requête INSERT, UPDATE ou DELETE. Si la dernière requête n'est pas valide, cette fonction retournera -1.

La fonction mysqli_stmt_affected_rows() ne fonctionne que sur les requêtes qui modifient la table. Si vous désirez récupérer le nombre de lignes retournées par une requête SELECT, utilisez plutôt la requête mysqli_stmt_num_rows().

Valeurs de retour

Un entier supérieur à zéro indique le nombre de lignes affectées ou retrouvées. Zéro indique qu'aucun enregistrement n'a été modifié par une requête UPDATE/DELETE, aucune ligne ne correspond à la clause WHERE dans la requête ou bien qu'aucune requête n'a été encore exécutée. -1 indique que la dernière requête a retourné une erreur.

Note : Si le nombre de lignes affectées est plus grand que la valeur entière maximale de PHP, le nombre de lignes affectées sera retourné comme une chaîne de caractères.

Exemples

Exemple 1. Style orienté objet

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    
printf("Echec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Création d'une table temporaire */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* Préparation de la requête */
if ($stmt = $mysqli->prepare($query)) {

    
/* Insertion de la variable */
    
$code = 'A%';
    
$stmt->bind_param("s", $code);

    
/* Exécution de la requête */
    
$stmt->execute();

    
printf("Lignes insérées : %d\n", $stmt->affected_rows);

    
/* Fermeture du traitement */
    
$stmt->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Exemple 2. Style procédural

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    
printf("Echec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Création d'une table temporaire */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* Préparation de la requête */
if ($stmt = mysqli_prepare($link, $query)) {

    
/* Insertion de la variable */
    
$code = 'A%';
    
mysqli_stmt_bind_param($stmt, "s", $code);

    
/* Exécution de la requête */
    
mysqli_stmt_execute($stmt);

    
printf("Lignes insérées : %d\n", mysqli_stmt_affected_rows($stmt));

    
/* Fermeture du traitement*/
    
mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

L'exemple ci-dessus va afficher :

Lignes insérées : 17

Voir aussi

mysqli_stmt_num_rows() et mysqli_prepare().

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:52