Fonction mysql_affected_rows() PHP
Définition et utilisation
La fonction mysql_affected_rows() retourne le nombre de lignes affectées par l'opération MySQL précédente.
Syntaxe
mysql_affected_rows(link_identifier)
Paramètres | Description |
---|---|
link_identifier | Obligatoire. L'identifiant de connexion MySQL. Si aucun n'est spécifié, l'identifiant de connexion utilisé par défaut est celui de la dernière connexion. mysql_connect() La connexion ouverte. Si la connexion n'est pas trouvée, la fonction essaie de faire appel à mysql_connect() Établir une connexion et l'utiliser. Si une incidence imprévue se produit, si la connexion n'est pas trouvée ou si elle ne peut pas être établie, le système émet un message d'avertissement de niveau E_WARNING. |
Description
Obtenir la dernière fois avec link_identifier Le nombre de lignes affectées par les requêtes INSERT, UPDATE ou DELETE liées.
Retourne la valeur
Retourne le nombre de lignes affectées si l'exécution est réussie, et -1 si la dernière requête échoue.
Si la dernière opération est une requête DELETE sans condition (WHERE), tous les enregistrements de la table seront supprimés, mais la valeur retournée par cette fonction était 0 avant la version 4.1.2.
Lors de l'utilisation d'une requête UPDATE, MySQL ne mettra pas à jour les colonnes dont la valeur actuelle et la nouvelle valeur sont identiques. Cela rend la valeur retournée par la fonction mysql_affected_rows() pas nécessairement le nombre d'enregistrements correspondant à la condition de requête, mais uniquement le nombre d'enregistrements effectivement modifiés qui sera retourné.
La phrase REPLACE supprime d'abord les enregistrements ayant la même clé principale, puis insère un nouveau enregistrement. La fonction retourne le nombre d'enregistrements supprimés plus le nombre d'enregistrements insérés.
Exemple
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die("Could not connect: " . mysql_error()); } mysql_select_db("mydb"); mysql_query("DELETE FROM mytable WHERE id < 5"); $rc = mysql_affected_rows();; echo "Enregistrements supprimés : " . $rc; mysql_close($con); ?>
Sortie :
Enregistrements supprimés : 4