mysql_* vs. mysqli_*
bearbeitet von Matthias ApselHallo
> momentan verwenden wir noch immer mysql statt mysqli. Lohnt sich denn der Umstieg enorm?
Spätestens, wenn der Hoster PHP ausschließlich in der Version 7 (oder höher) betreibt, lohnt sich der Umstieg tatsächlich „enorm“. Die mysql-Schnittstelle steht dann nämlich nicht mehr zur Verfügung.
> Andere Frage - bei mysqli wird immer eine CONNECTION verlangt. Muss ich also in jeder Funktion eine CONNECTION erneut aufbauen, oder kann man das irgendwie besser lösen?
Stelle die Verbindung **einmal** her und benutze die dabei erzeugte Verbindungskennung bei jeder folgenden Operation. Es gibt übrigens eine Ausnahme von der Pflicht, die Kennung in den Funktionen z benutzen. Nämlich den Fall eines Fehlerausgabe aus Anlass der Verbindungsaufnahme. Dann gibt es nämlich keine Kennung, weshalb die Funktionen [mysqli_connect_error](https://secure.php.net/manual/de/mysqli.connect-error.php) und [mysqli_connect_errno](https://secure.php.net/manual/de/mysqli.connect-errno.php) ohne Kennungsangabe funktionieren (müssen).
> ~~~
> $db = @mysqli_connect($dbserver, $dbuser, $dbpass);
>
> function test() {
> $db = @mysqli_connect($dbserver, $dbuser, $dbpass);
> $q = "SELECT * FROM tabelle2 LIMIT 10";
>
> $res = mysqli_query($db,$q);
> }
>
> test();
> ~~~
Öhhm, wie du Parameter an eine Funktion übergibst, ist dir vertraut?
Tschö, Auge
--
Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
Wolfgang Schneidewind **\*prust\***
mysql_* vs. mysqli_*
bearbeitet von AugeHallo
> momentan verwenden wir noch immer mysql statt mysqli. Lohnt sich denn der Umstieg enorm?
Spätestens, wenn der Hoster PHP ausschließlich in der Version / betreibt, lohnt sich der Umstieg tatsächlich „enorm“. Die mysql-Schnittstelle steht dann nämlich nicht mehr zur Verfügung.
> Andere Frage - bei mysqli wird immer eine CONNECTION verlangt. Muss ich also in jeder Funktion eine CONNECTION erneut aufbauen, oder kann man das irgendwie besser lösen?
Stelle die Verbindung **einmal** her und benutze die dabei erzeugte Verbindungskennung bei jeder folgenden Operation. Es gibt übrigens eine Ausnahme von der Pflicht, die Kennung in den Funktionen z benutzen. Nämlich den Fall eines Fehlerausgabe aus Anlass der Verbindungsaufnahme. Dann gibt es nämlich keine Kennung, weshalb die Funktionen [mysqli_connect_error](https://secure.php.net/manual/de/mysqli.connect-error.php) und [mysqli_connect_errno](https://secure.php.net/manual/de/mysqli.connect-errno.php) ohne Kennungsangabe funktionieren (müssen).
> ~~~
> $db = @mysqli_connect($dbserver, $dbuser, $dbpass);
>
> function test() {
> $db = @mysqli_connect($dbserver, $dbuser, $dbpass);
> $q = "SELECT * FROM tabelle2 LIMIT 10";
>
> $res = mysqli_query($db,$q);
> }
>
> test();
> ~~~
Öhhm, wie du Parameter an eine Funktion übergibst, ist dir vertraut?
Tschö, Auge
--
Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
Wolfgang Schneidewind **\*prust\***