Was ist das hier?

  • Eine Plattform von Flensburger Studenten für Flensburger Studenten
  • Ein Wiki zum Sammeln von Wissen
  • Ein Forum zum Austausch
  • Eine Wissensdatenbank zum Informatikstudium:
    • Programmieren in C, C#, PHP, Javascript, HTML, CSS
    • Datenbanken und Abfragen mit SQL
    • 2D / 3D - Gestaltung
    • Mathe, Physik, Gerätetechnik, RoBs
    • Audio- / Videotechnik
    • ...und vieles mehr

Anmelden

Warum registrieren?

Weil besser als gut!

 

PHP / Verbindung zur Datenbank

Einleitung

Um mit PHP eine Verbindung zu einer MySQL-Datenbank aufzubauen, gibt es mehrere Möglichkeiten. Die althergebrachte mit der mysql-Bibliothek von PHP wird man wohl am häufigsten finden, ist aber inzwischen aufgrund ihres funktionsorientierten Verhaltens veraltet.

Vorzuziehen ist eine objektorientierte Vorgehensweise, am besten mit der neuen mysqli-Klasse von PHP (das i steht für improved).

Im folgenden werden Beispiele gegeben.

Der traditionelle Weg

[...]

PHP
define('DB_SERVER',   'localhost');
define('DB_USER',     'root');
define('DB_PASSWORD', 'password');
define('DB_NAME',     'database');
 
$conn = mysql_connect( DB_SERVER,
                       DB_USER,
                       DB_PASSWORD )
        or die('Fehler bei der Verbindung: ' . mysql_error() );
 
$db   = mysql_select_db( DB_NAME, $conn ) or die('Fehler bei DB-Auswahl:' . mysql_error() );
 
mysql_query( "SELECT * FROM table" );
 
mysql_close( $conn );

Objektorientiert

Auch hier gibt es wieder zwei Möglichkeiten. Entweder man arbeitet direkt mit der Basisklasse, was für kleine Projekte am einfachsten ist. Oder man erstellt seine eigene Klasse, um später wiederkehrende Funktionen auszulagern.

Basisklasse

[...]

PHP
define('DB_SERVER',   'localhost');
define('DB_USER',     'root');
define('DB_PASSWORD', 'password');
define('DB_NAME',     'database');
 
$db = new mysqli( DB_SERVER ,
                  DB_USER,
                  DB_PASSWORD,
                  DB_NAME);
 
$db->query( "SELECT * FROM table" );
 
$db->close();

Mit eigener Klasse

Die Klasse myMysqli kann nun später beliebig erweitert werden.

PHP
define('DB_SERVER',   'localhost');
define('DB_USER',     'root');
define('DB_PASSWORD', 'password');
define('DB_NAME',     'database');
 
class myMysqli extends mysqli
{
    public function __construct($host, $user, $pass, $db)
	{
        parent::__construct($host, $user, $pass, $db);
    }
}
 
$db = new myMysqli( DB_SERVER ,
                    DB_USER,
                    DB_PASSWORD,
                    DB_NAME);
 
$db->query( "SELECT * FROM table" );
 
$db->close();



Kategorie: 4. Semester | Datenbanken | Laboraufgaben | Programmieren
| Mehr

Zahlen & Daten

  • 952 Seitenaufrufe
  • 653 Tage alt
  • 10 Versionen
  • Letzte Änderung: 22.05.2010 um 23:16 Uhr

Publish