MySQLi Klasse funktioniert in PHP 5.3 nicht

Das Forum Shop-Technik hilft Ihnen bei kleineren Programmieraufgaben und gibt Tipps zur Datenmanipulation in Datenbank-basierenden Shops und Websites auf Basis von PHP und MySQL.


MySQLi Klasse funktioniert in PHP 5.3 nicht

Beitragvon seo-beratung » 05.10.11

Die alte Nutzung der MySQLi Klasse ist in PHP 5.3 nicht mehr funktionsfähig, um eine Verbindung zwischen PHP und einer MySQL Datenbank herzustellen. Es gibt allerdings einen vollwertigen Ersatz.

Anbei erläutere ich Ihnen den Unterschied zwischen der vorherigen Nutzung von mysqli und der neuen objektorientierten Nutzung der MySQLi Klasse in PHP 5.3:

Datenbank-Verbindung herstellen
mysqli::__construct() ersetzt mysqli_connect()

Code: Alles auswählen
alt: $mydb = mysqli_connect(localhost, admin, passwort) or die ("Keine DB-Verbindung!");
neu: $mysqli = new mysqli("localhost", "admin", "passwort") or die ("Keine DB-Verbindung!");

Datenbank auswählen
mysqli::select_db() ersetzt mysqli_select_db()

Code: Alles auswählen
alt: mysqli_select_db($mydb, "datenbankname");
neu: $mysqli->select_db("datenbankname");

Einfache Datenbankabfrage

Code: Alles auswählen
$sql = "SELECT * FROM tabellenname;";

Datenbankabfrage absenden
mysqli::query() ersetzt mysqli_query()
mysqli::error() ersetzt mysqli_error()

Code: Alles auswählen
alt: $result = mysqli_query($mydb, $sql) or die("SQL-Fehler: " . mysqli_error()) . " " . $sql;
neu: $result = $mysqli->query($sql) or die("SQL-Fehler: " . $mysqli->error()) . " " . $sql;

Anzahl rows in Ergebnis result
mysqli_result::num_rows() ersetzt mysqli_num_rows()

Code: Alles auswählen
alt: if(mysqli_num_rows($result)) { ... }
neu: if($result->num_rows) { ... }

Eine row auslesen als assoziatives Array
mysqli_result::fetch_assoc() ersetzt mysqli_fetch_assoc()

Code: Alles auswählen
alt: while($row = mysqli_fetch_assoc($result)) { ... }
neu: while($row = $result->fetch_assoc()) { ... }

Datenbank-Verbindung schließen
mysqli::close() ersetzt mysqli_close()

Code: Alles auswählen
alt: mysqli_close($mydb);
neu: $mysqli->close();

Weiterführende Informationen
The MySQLi class
The MySQLi_Result class

Gruss
Wolfgang
Benutzeravatar
seo-beratung
Moderator
 
Beiträge: 367
Registriert: 03/06
Wohnort: Kleinaitingen


Ähnliche Shop Forum Themen passend zu "MySQLi Klasse funktioniert in PHP 5.3 nicht"

Zurück zu PHP- und MySQL-Support

Wer ist online im Shop Forum?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste