[PHP & MySQL] Einträge überprüfen & ggf. löschen

Startpost-Retter
-
Oli
Hi,

mysql_num_rows() und mysql_affected_row() gibt nach dem Ausführen des mysql_query() eine Anzahl.

php:
1:
2:
$result=mysql_query("SELECT * FROM bla");
$anzahl=mysql_num_rows($result);


Das hier geht dagegen nicht:
php:
1:
$anzahl=mysql_num_rows("SELECT * FROM bla"); //vermutlich $anzahl === FALSE


Du kannst auf diese Art also nur hinterher (nach dem Ausführen in der Datenbank) ermitteln, wieviel betroffen war. Der Befehl nimm kein SQL an und zeigt auch nicht, wieviele Einträge betroffen wären.

Um die Einträge vorab zu zählen, müsstest du ein SELECT durchführen, dann ermitteln, wieviele Einträge zurückgeliefert wurden und dann erst bei Bedarf dein DELETE durchführen.

Allerdings ist das in diesem Fall gar nicht notwendig, denn du könntest auch zunächst alle Einträge mit DELETE löschen lassen und dann bestimmen, ob Einträge gelöscht wurden - denn wenn es sich nicht um eigene Pinnwandeinträge handelt, würde deine SQL-Anweisung sowieso nichts löschen, da die WHERE-Klausel nicht zutrifft.


LG,
Oli