Lignes affectées
Dans cet article, nous nous concentrerons sur la fonction mysqli_affected_rows() de PHP, qui permet de récupérer le nombre de lignes affectées par l'opération MySQL précédente. Nous vous fournirons un aperçu de la fonction, son fonctionnement et des exemples d'utilisation.
Introduction à la fonction mysqli_affected_rows()
La fonction mysqli_affected_rows() est une fonction intégrée à PHP utilisée pour récupérer le nombre de lignes affectées par l'opération MySQL précédente. Elle est couramment utilisée après l'exécution d'une requête INSERT, UPDATE ou DELETE.
Comment utiliser la fonction mysqli_affected_rows()
L'utilisation de la fonction mysqli_affected_rows() est très simple. Il suffit de passer un objet de connexion MySQLi valide en tant qu'argument. Voici un exemple :
Comment utiliser la fonction mysqli_affected_rows() ?
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
$mysqli->query("UPDATE users SET name='John' WHERE id=1");
echo "Rows updated: " . mysqli_affected_rows($mysqli);
$mysqli->close();
?>Dans cet exemple, nous créons un nouvel objet MySQLi et exécutons une requête UPDATE pour modifier le nom d'un utilisateur dont l'ID est 1 en "John". Nous appelons ensuite la fonction mysqli_affected_rows() pour récupérer le nombre de lignes affectées par la requête et afficher le résultat dans la console.
Remarque importante concernant les requêtes SELECT
La fonction mysqli_affected_rows() ne renvoie pas le nombre de lignes pour les requêtes SELECT ; elle retourne -1 dans ce cas. Pour compter les lignes dans un résultat SELECT, utilisez mysqli_num_rows() sur le jeu de résultats. De plus, SQL_CALC_FOUND_ROWS et FOUND_ROWS() sont dépréciés dans MySQL 8.0.30+ et supprimés dans la version 8.0.31+, il ne faut donc pas les utiliser dans les applications modernes.
Conclusion
En conclusion, la fonction mysqli_affected_rows() est un outil puissant pour récupérer le nombre de lignes affectées par les opérations INSERT, UPDATE ou DELETE en PHP. En comprenant comment utiliser correctement cette fonction, vous pouvez gérer efficacement les modifications de données dans vos scripts MySQLi.
Pratique
Que fait la fonction mysqli_affected_rows() en PHP ?