Forum und email

mysqli_affected_rows

mysqli->affected_rows

(PHP 5)

mysqli->affected_rows — Kinyer az előző MySQL művelet által érintett sorok számát

Leírás

Eljárást használó stílus:

int mysqli_affected_rows ( mysqli $link )

Objektum-orientált stílus (tulajdonság):

mysqli
int$affected_rows;

Visszaadja az utolsó INSERT, UPDATE, REPLACE vagy DELETE kérés által érintett sorok számát.

Ez a függvény csak olyan lekérdezéseknél működik, melyek módosítják a táblát. A SELECT kérés által visszaadott sorok számának meghatározásához inkább használd a mysqli_num_rows() függvényt.

Paraméterek

link

Procedural style only: A link identifier returned by mysqli_connect() or mysqli_init()

Visszatérési értékek

Egy nullánál nagyobb egész szám, ami jelzi az érintett vagy kinyert sorok számát. A nulla azt mutatja, hogy nem volt egy sor sem módosítva az UPDATE parancs által, egy sor sem illeszketett a megadott WHERE kikötésnek a kérésben vagy még nem volt kérés futtatva. A -1 jelzi, hogy a kérés hibával tért vissza.

Note: Ha az érintett sorok száma nagyobb a legnagyobb int értéknél, az érintett sorok számát karakterláncként adja vissza.

Példák

Example#1 Objektum-orientált stílus

<?php
$mysqli 
= new mysqli("localhost""my_user""my_password""world");

/* kapcsolat ellenőrzése */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

/* Sorok hozzáadása */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n"$mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* sorok felülírása */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n"$mysqli->affected_rows);

/* sorok törlése */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n"$mysqli->affected_rows);

/* összes sor lekérdezése */
$result $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n"$mysqli->affected_rows);

$result->close();

/* A Language tábla törlése */
$mysqli->query("DROP TABLE Language");

/* kapcsolat bezárása */
$mysqli->close();
?>

Example#2 Eljárást használó stílus

<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

if (!
$link) {
    
printf("Can't connect to localhost. Error: %s\n"mysqli_connect_error());
    exit();
}

/* Sorok hozzáadása */
mysqli_query($link"CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n"mysqli_affected_rows($link));

mysqli_query($link"ALTER TABLE Language ADD Status int default 0");

/* sorok felülírása */
mysqli_query($link"UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n"mysqli_affected_rows($link));

/* sorok törlése */
mysqli_query($link"DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n"mysqli_affected_rows($link));

/* összes sor lekérdezése */
$result mysqli_query($link"SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n"mysqli_affected_rows($link));

mysqli_free_result($result);

/* A Language tábla törlése */
mysqli_query($link"DROP TABLE Language");

/* kapcsolat bezárása */
mysqli_close($link);
?>

A fenti példa a következő kimenetet adja:

Affected rows (INSERT): 984
Affected rows (UPDATE): 168
Affected rows (DELETE): 815
Affected rows (SELECT): 169