[MySQL] Treffer der UPDATE-Anweisung

hondocrx

Erfahrenes Mitglied
Guten Abend!

Ich ersetze mit einer UPDATE-Anweisung ein paar Werte in einer Tabelle.
Funktioniert tadellos.

Jetzt hätte ich gern noch eine Ausgabe wie viele Zeilen von der Updateanweisung geändert wurden. Gibt die UPDATE-Anweisung irgeneinen Wert zurück?

Ein einfaches TRUE würde reichen, egal wie viele Zeilen betroffen sind.

MfG hondocrx
 
Hi,

aus der Doku:

UPDATE gibt die Anzahl der tatsächlich geänderten Datensätze zurück. Die C-API-Funktion mysql_info() hingegen gibt die Anzahl der Datensätze, die gefunden und aktualisiert wurden, sowie die Anzahl der Warnungen zurück, die während der UPDATE-Operation aufgetreten sind.

Über was für einen Client machst Du das UPDATE? Konsole? phpMyAdmin? Eigenes PHP-Script?

LG
 
Guten Morgen kuddeldaddeldu,


danke für die schnelle Antwort.

Das alles läuft unter PHP 5.

ich dachte mit dem Konstrukt:

$Anzahl = mysql_query($sql_hgb,$db);

könnte ich einen Wert ermittel. $Anzahl ist aber immer 1. Egal ob in der Zeile was geändert wurde oder nicht. auch die Funktion mysql_affected_rows() liefert immer nur den Wert 0 zurück.

MfG
 
Hi,

ich dachte mit dem Konstrukt:

$Anzahl = mysql_query($sql_hgb,$db);

könnte ich einen Wert ermittel.

MfG

wie kommst Du denn darauf? mysql_query liefert in Deinem Fall true oder false zurück, je nachdem, ob die Abfrage erfolgreich war (auch ein gültiges UPDATE-Statement, das aber keine Datensätze betrifft, ist erfolgreich). Lies mal den Abschnitt "Return Values".

mysql_affected_rows ist da schon die richtige Wahl. Wenn das 0 liefert, machst Du was falsch. Sollte direkt nach dem mysql_query abgefragt werden.

LG
 

Neue Beiträge

Zurück