SunshinePHP Developer Conference 2015

maxdb_affected_rows

maxdb::affected_rows

(PECL maxdb >= 1.0)

maxdb_affected_rows -- maxdb::affected_rowsRécupère le nombre de lignes affectées par la dernière opération MaxDB

Description

Style procédural

int maxdb_affected_rows ( resource $link )

Style orienté objet

int $maxdb->affected_rows;

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().

Valeurs de retour

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é.

Exemples

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

Voir aussi

  • maxdb_num_rows() - Récupère le nombre de lignes dans un résultat
  • maxdb_info() - Récupère des informations sur le dernière requête exécutée

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top