Umstellung auf MySQLi
Autor: Varsamis Karamanidis (Macky), Ralf v.d.Mark
eingetragen: Dienstag, 11. März 2014 um 17:02 Uhr (11/2014 Kalenderwoche)
geändert: Mittwoch, 15. November 2023 um 08:45 Uhr (46/2023 Kalenderwoche)
Keywords: Deprecated Veraltet MySQLi
Kategorien: DB: MySQL, PHP, DB: MariaDB,
Text:
Was zu beachten ist bei einer Umstellung von mysql auf mysqli?
Vorher: $link = mysqlconnect($host, $user, $password);
mysqlselect_db($database, $link);
Jetzt: $link = mysqliconnect($host, $user, $password, $database);
oder optional: mysqliconnect($host, $user, $password, $database, $port, $socket);
http://de2.php.net/manual/de/function.mysqli-connect.php
Vorher: mysqlquery($query, $link);
Jetzt: mysqliquery($link, $query);
http://de2.php.net/manual/de/mysqli.query.php
Vorher: mysqlinsertid();
Jetzt: mysqliinsertid($link);
http://de2.php.net/manual/de/mysqli.insert-id.php
Vorher: mysqlaffectedrows();
Jetzt: mysqliaffectedrows($link);
http://de2.php.net/manual/de/mysqli.affected-rows.php
Vorher: mysqlerror();
Jetzt: mysqlierror($link);
http://de2.php.net/manual/de/mysqli.error.php
Übrigens, wie wäre es mit der Error-Rückgabe mysqlierrorlist ($link)?
http://de2.php.net/manual/de/mysqli.error-list.php
Vorher: mysqlerrno();
Jetzt: mysqlierrno($link);
http://de2.php.net/manual/de/mysqli.errno.php
Vorher: mysqlnumrows($result) und mysqlnumrows($result);
Jetzt: mysqlinumrows($result);
http://de2.php.net/manual/de/mysqli-result.num-rows.php
Wie wäre es mit mysqliinfo($link)?
http://de2.php.net/manual/de/mysqli.info.php
Ergebnis: Records: 150 | Duplicates: 0 | Warnings: 0
Vorher: mysqlrealescapestring($stringtoescape); //-> linkidentifier resource[optional]
Jetzt: mysqlirealescapestring($link, $stringto_escape);
Vorher: mysqlclose();
Jetzt: mysqliclose($link);
http://de2.php.net/manual/de/mysqli.close.php
Außerdem müssen noch alle folgenden Aufrufe umgesetzt werden:
mysqlfetch* => mysqlifetch*
...
Quellcode:
//Verbindung:
$link = mysqli_connect(HOST, USER, PASSW, DB)
or die('MySQL-Error('.mysqli_errno($link).'): '
.mysqli_error($link));
//Abfrage:
$query = 'SELECT a.feldname
FROM mytable AS a
WHERE a.id = 1 ;';
//Ausführen der Query:
$result = mysqli_query($link, $query
or die('MySQL-Error im Select ('.$query.') ..'
.mysqli_error($link)));
//Anzeigen des Resultats:
while($row = mysqli_fetch_assoc($result)) {
echo $row['feldname'].'<br>';
}//ENDE: while(...)