Christian Kruse: mysql_affected_rows() Nicht bei Select ?

Beitrag lesen

Hallo Nicole,

Kann mir also jemand erklären, warum das im Widerspruch
mit dem Manual steht, bzw. ob es einen trifftigen Grund
gibt das so nicht zu nutzen ?

Es ist nicht definiert. Mag sein, dass es jetzt geht. Morgen bereits ist es
möglich, dass es nicht mehr geht.

Es ist halt einfacher als mysql_num_rows($sql),
oder mysql_fetch_array($sql), auswerten usw.

Statt Tippfaulheit walten zu lassen, solltest du mal ein paar Performance-Überlegungen
anstreben. Denn...

// also so:
mysql_query("select id from tbl where id='223'");
if(mysql_affected_rows() !=1){$say = "Einfach und gut";}

Hier ist dein Resultset in einem von dir beschriebenen Fall etwa 100000 Zeilen gross. Und
diese Daten müssen alle vom MySQL-Server serialisiert, durch den Socket geschickt und vom
PHP-Script abgeholt werden.

// oder ungern so
$x = mysql_query("select count(id) from tbl where id='223'");
$y = mysql_fetch_array($x);
if($y['0'] !=1 ){$say = "Einfach mehr Aufwand";}

Hier dagegen ist dein Resultset maximal eine Zeile gross. Es ist also, gelinde gesagt,
idiotisch, ein 'SELECT feld' zu machen, wenn man nur die Anzahl der Datensätze wissen
will.

Grüße,
 CK

--
Ihr wisst nicht, wie man den Menschen dient. Wie sollt ihr wissen, wie man den Goettern dienen soll?