mysql_* vs. mysqli_*
bearbeitet von Rolf bIrrtum - [mysqli_fetch_array gibt es](http://php.net/manual/de/mysqli-result.fetch-array.php)
Die mysqli Funktionen haben zwei Implementierungen. Eine auf Objektbasis - die behalten dann ihren notwendigen Kontext (wie Connection oder Query) im Hinterkopf(-objekt). Und eine auf Funktionsbasis, da gibt's dann keinen Hinterkopf und Du musst ihnen den Kontext jeweils per Parameter mitgegeben.
Von dem her, was passiert, ist
~~~php
$rows = $res->fetch_array()
$rows = mysqli_fetch_array($res)
~~~
also synomym. Wer von den beiden der Fake ist und wer der direkte Zugang zur SQL-Engine, weiß ich nicht. Es ist auch egal. [Hier](http://php.net/manual/en/mysqli.quickstart.dual-interface.php) steht, dass die Performance der beiden Varianten sich nicht signifikant unterscheidet und dass das Funktionsinterface eher für die Leute gemacht ist, die an das alte mysql gewöhnt sind.
Rolf
mysql_* vs. mysqli_*
bearbeitet von Rolf bIrrtum - [mysqli_fetch_array gibt es](http://php.net/manual/de/mysqli-result.fetch-array.php)
Aus irgendwelchen Gründen - vielleicht weil es immer noch OO-Verweigerer gibt oder weil das Interface älter ist als brauchbarer OO Support in PHP - haben die mysqli Funktionen zwei Implementierungen. Eine auf Objektbasis - die behalten dann ihren notwendigen Kontext (wie Connection oder Query) im Hinterkopf(-objekt). Und eine auf Funktionsbasis, da gibt's dann keinen Hinterkopf und Du musst ihnen den Kontext jeweils per Parameter mitgegeben.
Von dem her, was passiert, ist
~~~php
$rows = $res->fetch_array()
$rows = mysqli_fetch_array($res)
~~~
also synomym. Wer von den beiden der Fake ist und wer der direkte Zugang zur SQL-Engine - und damit der Schnellere - weiß ich nicht. Vielleicht sind auch beide eine Hülle um irgendein internes API und damit gleich schnell.
Rolf
mysql_* vs. mysqli_*
bearbeitet von Rolf bIrrtum - [mysqli_fetch_array gibt es](http://php.net/manual/de/mysqli-result.fetch-array.php)
Aus irgendwelchen Gründen - vielleicht weil es immer noch OO-Verweigerer gibt oder weil das Interface alter ist als brauchbarer OO Support in PHP - haben die mysqli Funktionen zwei Implementierungen. Eine auf Objektbasis - die behalten dann ihren notwendigen Kontext (wie Connection oder Query) im Hinterkopf(-objekt). Und eine auf Funktionsbasis, da gibt's dann keinen Hinterkopf und Du musst ihnen den Kontext jeweils per Parameter mitgegeben.
Von dem her, was passiert, ist
~~~php
$rows = $res->fetch_array()
$rows = mysqli_fetch_array($res)
~~~
also synomym. Wer von den beiden der Fake ist und wer der direkte Zugang zur SQL-Engine - und damit der Schnellere - weiß ich nicht. Vielleicht sind auch beide eine Hülle um irgendein internes API und damit gleich schnell.
Rolf