Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Datenbankprogrammierung  Teil von  MySQL und PHP
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++



:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
MySQLi – erste Gehversuche




Sollten Sie sich für den Einsatz von MySQLi entschieden haben, gilt es nun, sich mit der Syntax und dem prozeduralen bzw. objektorientierten Prinzip der Programmierung auseinanderzusetzen.


MySQL-Datenbankverbindung prüfen und Version ermitteln

Nachdem die MySQL-Erweiterung installiert wurde, sollte ein Testlauf erfolgen. Der Zugriff auf den Datenbankserver via MySQLi-Erweiterung kann auf prozedurale oder objektorientierte Weise erfolgen. Um es kurz zu machen, werfen wir nun einen Blick auf die prozedurale Lösung.

Beispiel – prozedurale Syntax (Arbeitsweise)

<?php
// Verbindungsvariable samt Zugangsdaten festlegen
@$db = mysqli_connect("localhost", "root", "", "testbank");

// Verbindung überprüfen
if (mysqli_connect_errno()) {
  printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
  exit();
}

// SQL-Befehl ausführen
$befehl = mysqli_query($db, "SELECT version() AS version");

// Antwort der Datenbank in ein assoziatives Array übergeben
$resultat = mysqli_fetch_assoc($befehl);

// MySQL-Version aus dem Resultat-Array auslesen
echo "Wir arbeiten mit MySQL-Version {$resultat['version']}";

// Verbindung zum Datenbankserver beenden
mysqli_close($db);
?>

Die objektorientierte Programmierung richtet sich an Objekte, diese wiederum werden aus sogenannten Klassen abgeleitet, welche eine Art Gruppe von gleichen Objekten darstellen. Um einen Zugriff auf unsere Datenbank zu erhalten, geht man im Fall der objektorientierten Programmierung wie folgt vor:

Beispiel – objektorientierte Syntax (Arbeitsweise)

<?php
// Verbindungs-Objekt samt Zugangsdaten festlegen
@$db = new mysqli("localhost", "root", "", "testbank");

// Verbindung überprüfen
if (mysqli_connect_errno()) {
  printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
  exit();
}

// SQL-Befehl ausführen
$befehl = $db->query("SELECT version() AS version");

// Antwort der Datenbank in ein Objekt übergeben
$resultat = $befehl->fetch_object();

// MySQL-Version aus dem Resultat-Objekt auslesen
echo "Wir arbeiten mit MySQL-Version {$resultat->version}";

// Verbindung zum Datenbankserver beenden
$db->Close();
?>

Bei der objektorientierten Lösung wird als Erstes dafür gesorgt, dass die mysqli()-Klasse ein Verbindungsobjekt zum Datenbankserver bereitstellt, welches den Zugriff auf die benötigten Methoden ermöglicht und darüber hinaus die Zugangsdaten enthält.

$db = new mysqli("localhost", "root", "", "testbank");

Im Beispiel führt die Instanziierung des Objekts in $db auch gleich zum Öffnen der Verbindung. Der SQL-Befehl SELECT in Verbindung mit der query()-Methode ermittelt anschließend die Versionsnummer des MySQL-Datenbankservers.

$befehl = $db->query("SELECT version() AS version");

Das Resultat lässt sich anschließend in ein Objekt überführen.

$resultat = $befehl->fetch_object();

Der darauf folgende Zugriff auf die Objektfelder (Eigenschaften) erfolgt über deren Bezeichnung, im vorliegenden Fall: $resultat->version.

echo "Wir arbeiten mit MySQL-Version {$resultat->version}";

Abschließend wird noch mit der close()-Methode dafür gesorgt, dass die Verbindung wieder geschlossen wird.

Achtung: Da es sich bei der MySQLi-Erweiterung um eine experimentelle Erweiterung handelt, kann die einwandfreie Funktionsweise von MySQL 5 oder höher nicht garantiert werden. Die verwendeten Skripts wurden mit MySQL 5.0.24 getestet und Sie sollten PHP 5.1 oder höher für die MySQLi-Erweiterungen verwenden.



 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


Microsoft Deutschland GmbH
twosteps.net - ...Premium-Webhosting
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2009 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt