Datenbankabfrage = TRUE

Eiszwerg

Erfahrenes Mitglied
Moin moin liebe Community!

Ich möchte gerne prüfen, ob eine Datenbankabfrage erfolgreich war.

PHP:
include("vars.php");
mysql_connect ($server,$user,$pw) or die ("Es besteht keine DB Verbindung :o(");
$dbanfrage = "UPDATE $table1 SET active='YES' WHERE id='$user_id' AND active='$key'";
$result = mysql_db_query ($db, $dbanfrage) or die (mysql_error());
if ($result) { 
der kram, der passiert, wenn erfolg
}

Leider wird der bedingte Code auch ausgeführt, wenn die WHERE-Klausel nicht mehr Wahr ist, weil der bestimmte ID-WErt nicht mehr existiert.

Wo liegt mein Denkfehler?
 
Du überprüfst damit ja nur, ob $result gesetzt ist, das hast du die Zeile vorher ja schon gemacht..
Und auch hier hilft wie so oft ein Blick in das PHP-Referenzhandbuch, welches dir Funktionen wie z.B. mysq_affected_rows() aufzeigt.
 
@Timbonet:
Also quasi prüfen, ob er eine Zeile mit den Bedingungen gefunden hat!
Kannte die Funktion nicht und wusste nicht, wonach ich suchen könnte.
Werde das gerade mal prüfen!

Danke schonmal an alle Beteiligten!
 
PHP:
include("vars.php");
mysql_connect ($server,$user,$pw) or die ("Es besteht keine DB Verbindung :o(");
$dbanfrage = "UPDATE $table1 SET active='YES' WHERE id='$user_id' AND active='$key'";
$result = mysql_db_query ($db, $dbanfrage) or die (mysql_error());
if (mysql_affected_rows () > 0) {
der kram, der passiert, wenn erfolg 
}

Funktioniert wunderbar!
Habt Dank für Eure Hilfe!
 
Zurück