MySQL Klasse

In meinem kleinen Tutorial zeige ich euch, wie ihr ganz einfach eine kleine MySQL Klasse schreiben könnt.

MySQL Klasse

Das Tutorial vermittelt euch nicht wie man allgemein mit Klassen umgeht, es dient nur dazu, euch zu zeigen, wie ihr eine
Klasse schreiben könnt, um auf eine MySQL Datenbank zuzugreifen.

Fangen wir auch gleich an!
Zunächst benötigen wir eine Datei, in der die Verbindungsdaten zur MySQL Datenbank stehen.

Legt euch eine Datei an und benennt sie db_config.php

In diese Datei schreibt ihr jetzt folgendes hinein:

<?php
$host 
"localhost"// MySQL Hostname
$database "db123456"// MySQL Database
$db_username "dein_benutzername"// MySQL Username
$db_pass "dein_passwort"// MySQL Password
$db_port "3306"// Port der Datenbank - kann leer gelassen werden, default 3306

define(dbHost$host);
define(db$database);
define(dbUser$db_username);
define(dbPass$db_pass);
define(dbPort$db_port);
?>

Jetzt haben wir die Datei, die die Zugangsdaten der MySQL Datenbank enthält, fertig.
Das define braucht man normalerweise nicht, es hilft aber, den Code im überblick zu behalten ;-)
Kurze Erläuterung:
define(dbHost, $host);
Im PHP Code könnt ihr nun den Inhalt der Variable $host aufrufen, indem wir dbHost eingeben. Alles klar? Dann geht's weiter

Jetzt kommen wir zum eigentlichen Teil, erstellt eine Datei und benennt sie database_class.php
Nun tragt folgendes ein:

<?php
$Connection 
= new mysqlconnection();

class 
mysqlconnection{

}
?>

Unsere Klasse heißt jetzt mysqlconnection; und kann in einem PHP Code aufgerufen werden, in dem man new mysqlconnection();
rein schreibt.
Problem: Wenn man jetzt zig PHP Dateien hat, wo immer diese Klasse benötigt wird, muss man new mysqlconnection(); rein schreiben.
Lösung: Einfach in der database_class.php oben hinein schreiben $Connection = new mysqlconnection();
So wird die Klasse (ich glaub das heißt so) Instantiiert, kurz so könnt ihr später damit umgehen :D

Schreibt jetzt folgendes in eure Classe:

<?php
$Connection 
= new mysqlconnection();
class 
mysqlconnection{

    var 
$host dbHost;
    var 
$database db;
    var 
$db_username dbUser
    var 
$db_pass dbPass
    var 
$db_port dbPort

    function 
connect(){
        
$this->connection = @mysql_pconnect($this->host.':'.$this->db_port$this->db_user$this->db_pass) or die(" Database Error: ".mysql_errno()." : ".mysql_error());
        
$this->select_database = @mysql_select_db($this->database$this->connection) or die(" Database Error: ".mysql_errno()." : ".mysql_error());
    }
}
?>

Oben definieren wir die Variablen $host, $database, $db_username, $db_pass und $db_port und es ist euch sicher aufgefallen, das die Variablen mit den Inhalten gefüllt wird, die wir in db_config.php definiert haben (z.B. define(dbHost, $host); )
Unser Funktion, die zur MySQL Datenbank verbindet, haben wir connect genannt.

$this->connection = @mysql_pconnect($this->host.':'.$this->db_port, $this->db_user, $this->db_pass) or die("
Database Error: ".mysql_errno()." : ".mysql_error());

Hier bauen wir direkt eine Verbindung zur MySQL Datenbank auf und falls das irgend wann aus welchem unempfindlich Grund auch mal nicht gehen sollte, wird weiter hinten ein Fehler ausgegeben.

or die(" Database Error: ".mysql_errno()." : ".mysql_error());

Das soll euch später und den Usern, die euer Script benutzen, helfen, Fehler zu finden. Wenn also mal ein User an kommt und rumheult, weil euer Script den Dienst verweigert, so kann ich der User gleich die Fehlermeldung mitteilen. Und anhand des seht ihr dann noch eher, das was mit den Verbindgungsdaten nicht stimmt.
Genug der redet, weiter geht's! Schreibt nun folgendes in eure database_class.php Datei:

<?php
$Connection 
= new mysqlconnection();
class 
mysqlconnection{

    var 
$host dbHost;
    var 
$database db;
    var 
$db_username dbUser
    var 
$db_pass dbPass
    var 
$db_port dbPort

    function 
connect(){
        
$this->connection = @mysql_pconnect($this->host.':'.$this->db_port$this->db_user$this->db_pass) or die(" Database Error: ".mysql_errno()." : ".mysql_error());
        
$this->select_database = @mysql_select_db($this->database$this->connection) or die(" Database Error: ".mysql_errno()." : ".mysql_error());
        
# $this->select_database;
    
}

    function 
mysqlclose()
    {
        
$this->connection mysql_close();
    }
}
?>

Wir haben unsere kleine Klasse um die Funktion mysqlclose() erweitert.
Diese Funktion schließt beim Aufrufen eure MySQL Verbindung.
Normalerweise bräuchtet ihr diese Funktion nicht, da in der Regel beim beenden des Scripts auch die Verbindung geschlossen wird.

Schreibt nun folgendes in eure database_class.php Datei:

<?php
$Connection 
= new mysqlconnection();
class 
mysqlconnection{

    var 
$host dbHost;
    var 
$database db;
    var 
$db_username dbUser
    var 
$db_pass dbPass
    var 
$db_port dbPort

    function 
connect(){
        
$this->connection = @mysql_pconnect($this->host.':'.$this->db_port$this->db_user$this->db_pass) or die(" Database Error: ".mysql_errno()." : ".mysql_error());
        
$this->select_database = @mysql_select_db($this->database$this->connection) or die(" Database Error: ".mysql_errno()." : ".mysql_error());
        
# $this->select_database;
    
}

    function 
mysqlclose(){
        
$this->connection mysql_close();
    }

    function 
query($querystring){
        if (
$this->connection == false$this->connect();
        if (
$this->connection == false) return;
        
$res mysql_query($querystring$this->connection) or die(" Database Error : ".mysql_errno()." : ".mysql_error());
    return 
$res;
    }
}
?>

Nun gibt es die Funktion query in unserer Klasse.
Kurze Erläuterung:
$res = mysql_query($querystring, $this->connection) or die(" Database Error : ".mysql_errno()." : ".mysql_error());

$querystring wird später übergeben, darin wird dann so was stehen wie z.B. "SELECT * FROM table". Hinten haben wir für die Fehlerausgabe drinstehen. Was das da soll habe ich ja oben schon erklärt ;-)
So, fertig währe unsere kleine MySQL Klasse. Wie ihr das ganze jetzt aufruft, sag ich euch ein andere mal :D

Spaß beiseite, erstellt eine neue Datei und nennt sie test.php
Schreibt folgendes in die Datei:

<?php
include ("db_config.php"); // da stehen unsere Daten drinne
include ("database_class.php"); // unsere Klasse
$select $Connection->query("SELECT * FROM table");
$row mysql_fetch_object($select);
echo 
$row->spalten_nam
?>

Erläuterung:
Unsere Klasse und deren Funktionen rufen wir so auf:
$Connection->funktionsname

Die Variable $Connection wird in der database_class.php "gefüllt" (Wisst ihr noch? $Connection = new mysqlconnection(); )

$select = $Connection->query("SELECT * FROM table");
$select ruft jetzt die Funktion query() auf, der Querystring ($querystring) ist "SELECT * FROM table".

$row = mysql_fetch_array($select); "hohlt" sich jetzt den Inhalt, ausgeben und/oder verwenden tut ihr das so:
$row->spalten_name

Fertig!

Das war's auch schon, ich hoffe ihr habt alles soweit verstanden, bei Fragen einfach in das Forum gehen.
Gruß euer benny-one

Ratings

There are no comments available yet.

Here you can write a comment


Please enter at least 10 characters.
Loading... Please wait.
* Pflichtangabe

Related topics

Spielereien mit Zeit und Datum

Das Rechnen mit Datum und Zeit ist nur selten unproblematisch, PHP stellt uns dafür zahlreiche Funktionen zur Verfügung. Wir wollen uns im folgenden ein paar davon ansehen und an Beispielen erproben. ...

Stephane

Autor : Stephane
Category: PHP-Tutorials

Ein Gästebuch in PHP Programmieren

Eine ausführliche Anleitung wie man auf einfache Art ein Gästebuch realsiert. Dieses Gästebuch basiert auf einer Textdatenbank! ...

Freak

Autor : Freak
Category: PHP-Tutorials

Eines Warenkorbsystem für Anfänger

Ein kurzes Tutorial für Anfänger um ein einfaches aber funktionelles Warenkorbsystem zu erstellen. Freue mich über Rückmeldungen und Kritik - denn nur so verbessert man sich :) ...

web3hoster

Autor : web3hoster
Category: PHP-Tutorials

Programmierung - SQL

Dieser SQL-Kurs wendet sich vor allem an Programmierer, die mit Hilfe von SQL auf Datebaken zugreifen, und an alle, die Datenbanken neu entwerfen, erweitern oder abändern wollen ...

webmaster205@

Autor : webmaster205@
Category: mySQL-Tutorials

Thumbnails mit PHP erzeugen

Manchmal möchte man Bilder, die auf einer Website dargestellt werden sollen, verkleinern. Solche verkleinerten Bilder nennt man Thumbnails. ...

Wolfgang13

Autor : Wolfgang13
Category: PHP-Tutorials

PHP-Scripte offline testen unter Windows

Wenn Sie sich schon mit der Erstellung von dynamischen Websiten beschäftigt haben, wissen Sie vielleicht wie umständlich es ist, die Scripte immer auf den Server Ihres Hosters zu laden um diese testen zu können. ...

webmaster116@

Autor : webmaster116@
Category: Linux & Server Tutorials

ASCII Datenbanken

ASCII Datenbanken sind eigentlich nur Textdateien, in denen man Daten speichert, die durch ein Trennzeichen voneinander getrennt sind. Dieses Tutorial zeigt wie es geht. Mit Übung und Lösung ...

deep_space_nine@

Autor : deep_space_nine@
Category: PHP-Tutorials

E-Mailprüfung mit JavaScript

In diesem Tutorial wird gezeigt, wie eine E-Mailüberprüfung in JavaScript realisiert werden kann ...

andy@

Autor : andy@
Category: Other tutorials

Publish a tutorial

Share your knowledge with other developers worldwide

Share your knowledge with other developers worldwide

You are a professional in your field and want to share your knowledge, then sign up now and share it with our PHP community

learn more

Publish a tutorial