(PECL maxdb:1.0-7.6.00.38)
maxdb_affected_rows -- maxdb->affected_rows — Récupère le nombre de lignes affectées par la dernière opération MaxDB
Style procédural :
Style orienté objet (propriété) :
Retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE ou DELETE associée avec le paramètre link fourni. Si ce nombre ne peut pas être déterminé, cette fonction retournera -1.
Note: Pour les requêtes SELECT, maxdb_affected_rows() fonctionne comme la fonction maxdb_num_rows().
La fonction maxdb_affected_rows() ne fonctionne qu'avec les requêtes qui modifient une table. Pour récupérer le nombre de lignes depuis une requête SELECT, utilisez plutôt la fonction maxdb_num_rows().
Un entier plus grand que 0 indique le nombre de lignes affectées ou récupérées. Zéro indique qu'aucune ligne n'a été mise à jour pour une requête de type SELECT, qu'aucun ligne ne correspond à une clause WHERE dans une requête ou bien qu'aucune requête n'a été exécutée. -1 indique que le nombre de lignes affectées n'a pû être déterminé.
Exemple #1 Style orienté objet
<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}
maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);
/* Insertion de lignes */
$maxdb->query("CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", $maxdb->affected_rows);
$maxdb->query("ALTER TABLE mycustomer ADD Status int default 0");
/* Mise à jour de lignes */
$maxdb->query("UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", $maxdb->affected_rows);
/* Effacement de lignes */
$maxdb->query("DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", $maxdb->affected_rows);
/* Sélection de toutes les lignes */
$result = $maxdb->query("SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", $maxdb->affected_rows);
$result->close();
/* Effacement de la table Language */
$maxdb->query("DROP TABLE mycustomer");
/* Fermeture de la connexion */
$maxdb->close();
?>
Exemple #2 Style procédural
<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
if (!$link) {
printf("Impossible de se connecter à localhost. Erreur : %s\n", maxdb_connect_error());
exit();
}
maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);
/* Insertion de lignes */
maxdb_query($link, "CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Nombres de lignes affectées (INSERT): %d\n", maxdb_affected_rows($link));
maxdb_query($link, "ALTER TABLE mycustomer ADD Status int default 0");
/* Mise à jour de lignes */
maxdb_query($link, "UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Nombres de lignes affectées (UPDATE): %d\n", maxdb_affected_rows($link));
/* Effacement de lignes */
maxdb_query($link, "DELETE FROM mycustomer WHERE cno < 50");
printf("Nombres de lignes affectées (DELETE): %d\n", maxdb_affected_rows($link));
/* Sélectionne toutes les lignes */
$result = maxdb_query($link, "SELECT title FROM mycustomer");
printf("Nombres de lignes affectées (SELECT): %d\n", maxdb_affected_rows($link));
maxdb_free_result($result);
/* Effacement d'une table */
maxdb_query($link, "DROP TABLE mycustomer");
/* Fermeture de la connexion */
maxdb_close($link);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
Affected rows (INSERT): 15 Affected rows (UPDATE): 15 Affected rows (DELETE): 0 Affected rows (SELECT): 15