oujood.com

Comprendre et Utiliser mysqli_affected_rows() pour Contrôler les Mises à Jour en PHP

Découvrez comment utiliser la fonction mysqli_affected_rows() en PHP pour suivre le nombre de lignes impactées par vos requêtes SQL.

La fonction mysqli_affected_rows() en PHP

La fonction mysqli_affected_rows() est une fonction intégrée en PHP qui permet de récupérer le nombre de lignes affectées par la dernière requête SQL exécutée avec la bibliothèque MySQLi.

Syntaxes générale

La fonction mysqli_affected_rows() peut être utilisée de deux manières : orientée objet et procédurale.

Orientée objet :

$mysqli = new mysqli("localhost", "utilisateur", "motdepasse", "ma_base_de_données");
if ($mysqli->connect_error) {
    die("Connexion échouée : " . $mysqli->connect_error);
}

// Exécution d'une requête
$mysqli->query("UPDATE ma_table SET colonne = 'nouvelle valeur' WHERE condition");

// Récupération du nombre de lignes affectées
$affectedRows = $mysqli->affected_rows;

$mysqli->close();

Procédurale :

$conn = mysqli_connect("localhost", "utilisateur", "motdepasse", "ma_base_de_données");
if (!$conn) {
    die("Connexion échouée : " . mysqli_connect_error());
}

// Exécution d'une requête
mysqli_query($conn, "UPDATE ma_table SET colonne = 'nouvelle valeur' WHERE condition");

// Récupération du nombre de lignes affectées
$affectedRows = mysqli_affected_rows($conn);

mysqli_close($conn);

Valeurs possibles et paramètres

La fonction mysqli_affected_rows() retourne un entier représentant le nombre de lignes affectées par la dernière requête exécutée. Cette fonction ne prend pas de paramètres.

Exemples pratiques

Voici quelques exemples pratiques d'utilisation de la fonction mysqli_affected_rows():

Orientée objet :

Exemple :       Copier le code

	// ... Connexion à la base de données comme montré précédemment ...

// Exécution d'une requête DELETE
$mysqli->query("DELETE FROM ma_table WHERE condition");

// Récupération du nombre de lignes supprimées
$deletedRows = $mysqli->affected_rows;

// ... Fermeture de la connexion ...

Procédurale :

Exemple :       Copier le code

	// ... Connexion à la base de données comme montré précédemment ...

// Exécution d'une requête INSERT
mysqli_query($conn, "INSERT INTO ma_table (colonne) VALUES ('nouvelle valeur')");

// Récupération du nombre de lignes insérées
$insertedRows = mysqli_affected_rows($conn);

// ... Fermeture de la connexion ...

Astuces et conseils d'utilisation

Voici quelques astuces et conseils pour une utilisation efficace de la fonction mysqli_affected_rows():

  • Assurez-vous d'appeler cette fonction juste après l'exécution d'une requête qui modifie les données (INSERT, UPDATE, DELETE) pour obtenir le résultat correct.
  • En cas de requêtes multiples dans la même session, la valeur retournée sera celle de la dernière requête exécutée.
  • Gardez à l'esprit que cette fonction ne concerne que les requêtes qui modifient les données. Pour les requêtes SELECT, vous devez utiliser d'autres méthodes pour récupérer les résultats.

En utilisant mysqli_affected_rows() de manière appropriée, vous pouvez facilement suivre et gérer le nombre de lignes affectées par vos requêtes SQL, ce qui est essentiel pour le développement d'applications robustes.




Voir aussi nos tutoriel :

fonction vfprintf, vfprintf

crit une chaîne format e dans un flux

fonction stripcslashes, stripcslashes

D code une chaîne encodée avec addcslashes

font-family

Spécifie la famille de police pour le texte