db2_num_rows

(PECL ibm_db2 >= 1.0.0)

db2_num_rows Retourne le nombre de lignes affectées par une requête SQL

Description

db2_num_rows(resource $stmt): int|false

Retourne le nombre de lignes supprimées, ajoutées, mises à jour par une requête SQL.

Afin de déterminer le nombre de lignes que retournera une requête SELECT, utilisez la requête SELECT COUNT(*) avec les mêmes attributs lorsque vous avez effectué la requête SELECT et la récupération des valeurs.

Si la logique de votre application vérifie le nombre de ligne retournée par une requête SELECT et effectue le saut si le nombre de ligne est 0, modifiez votre application pour tenter de retourner la première ligne avec db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array() ou db2_fetch_row(), et effectuez le saut si la fonction retourne false.

Note:

Si vous envoyez une requête SELECT avec un curseur flottant, db2_num_rows() retournera le nombre de lignes retournées par la requête SELECT. Cependant, le temps système associé avec des curseurs flottants dégrade considérablement les performances de votre application, alors si cela est la seule raison pour laquelle vous utilisez des curseurs flottants, vous devriez utiliser des curseurs à avancement seul et de plus appeler SELECT COUNT(*) ou compter sur les valeurs de retour des fonctions de type bool pour obtenir l'équivalent de fonctionnalité avec une performance bien meilleure.

Liste de paramètres

stmt

Une ressource stmt valide contenant le jeu de résultats.

Valeurs de retour

Retourne le nombre de lignes affectées par la dernière requête SQL envoyée par une fonction qui exécute les requêtes SQL, ou false si une erreur survient

add a note add a note

User Contributed Notes 1 note

up
-8
rmarsh221 at gmail dot com
7 years ago
$inseq = 598;
    $delSql = "DELETE FROM libname.tablename WHERE inseq=?";
    $stmt = db2_prepare($conn,$delSql);
    $res = db2_execute($stmt,array($inseq));
    if(!$res)
    {
      throw new Exception(db2_stmt_errormsg(), db2_stmt_error());
    } else {
      $rows = db2_num_rows($stmt);
      if ($rows > 0) {
        echo "Success! ".$inseq." record deleted from: libname.tablename:". Rows=".$rows;
      } else {
        echo "Row not found for delete in: ".libname.tablename";
      }
     
    }
To Top