Funzione mysql_affected_rows() di PHP
Definizione e uso
La funzione mysql_affected_rows() restituisce il numero di righe di record influenzate dall'ultima operazione MySQL.
Sintassi
mysql_affected_rows(link_identifier)
Parametro | Descrizione |
---|---|
link_identifier | Obbligatorio. Identificatore di connessione MySQL. Se non è stato specificato, viene utilizzato come predefinito l'ultimo utilizzato mysql_connect() La connessione aperta. Se non viene trovata la connessione, la funzione tenta di chiamare mysql_connect() Eseguire la connessione e utilizzarla. In caso di imprevisto, se non viene trovata la connessione o non è possibile stabilire la connessione, il sistema emette un messaggio di avviso di livello E_WARNING. |
Descrizione
Ottenere l'ultima volta con link_identifier Il numero di righe di record influenzate dalle query INSERT, UPDATE o DELETE correlate.
Restituisce il valore
Restituisce il numero di righe influenzate con successo, se l'ultima query fallisce, la funzione restituisce -1.
Se l'ultima operazione è una query DELETE senza condizioni (WHERE), tutti i record della tabella vengono cancellati, ma il valore restituito da questa funzione è 0 fino alla versione 4.1.2.
Quando si utilizza una query UPDATE, MySQL non aggiorna le colonne con lo stesso valore originale e nuovo. Questo fa sì che il valore restituito dalla funzione mysql_affected_rows() non sia necessariamente il numero di record che corrispondono alle condizioni di ricerca, ma solo il numero di record effettivamente modificati.
La frase REPLACE elimina prima i record con la chiave primaria uguale, poi inserisce un nuovo record. La funzione restituisce il numero di record cancellati più il numero di record inseriti.
Esempio
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die("Impossibile connettersi: " . mysql_error()); } mysql_select_db("mydb"); mysql_query("DELETE FROM mytable WHERE id < 5"); $rc = mysql_affected_rows();; echo "Records deleted: " . $rc; mysql_close($con); ?>
Output:
Records cancellati: 4