So kapseln Sie Datenbankoperationen in PHP
Kapselung von Datenbankoperationen in PHP
Viele Aspekte des dynamischen Webdesigns umfassen Datenbankoperationen, aber manchmal erfordert der Wechsel zu anderen Backend-Datenbanken bei Bedarf eine große Anzahl von Programmänderungen. Dies ist eine mühsame, zeitaufwändige und fehleranfällige Aufgabe. Tatsächlich können wir Klassen in PHP verwenden, um Datenbankoperationen zu kapseln, sodass das geschriebene Programm Änderungen an der Hintergrunddatenbank mit sehr kleinen Änderungen abschließen kann.
Jetzt kapseln wir es in dbfz.inc und sein Design ist wie folgt:
class dbInterface{ var $dbID=1; //Wird verwendet, um die Datenbank für den aktuellen Vorgang zu bestimmen. Wenn dbID 1 ist, repräsentiert es MySQL, wenn es 2 ist, repräsentiert es SQL Server, und wenn es 3 ist, repräsentiert es ODBC oder andere.
var $dbHost; //Der Domänenname des Hosts, auf dem sich die Datenbank befindet
var $dbUsername; //Datenbankbenutzername
var $dbPassWord; //Benutzerpasswort
//Host-, Benutzernamen- und Passwortfunktionen festlegen
Funktion setParameter($host,$username,$password){
$this->dbUsername=$username;
$this->dbHost=$host;
$this->dbPassword=$password;
} //Datenbankfunktion beitreten
Funktion dbConnect(){
switch($this->dbID)
{
Fall 1;
return @mysql_connect($this->dbHost,$this->dbUsername,$this->dbPassword);
Fall 2;
//Funktionen verwenden, die SQL Server
unterstützen
Fall 3;
//Funktionen verwenden, die ODBC
unterstützen
}
}
//Schließe die Bibliotheksfunktion
Funktion dbClose($dataHandle){
switch($this->dbID)
{
Fall 1;
mysql_close($dataHandle);
Fall 2;
//Funktionen verwenden, die SQL Server
unterstützen
Fall 3;
//Funktionen verwenden, die ODBC
unterstützen
}
}
//SQL-Anweisungsfunktion
ausführen
Funktion dbQuery($dbName,$sql,$dbHandle){
switch($this->dbID)
{
Fall 1;
return @mysql_db_query($dbName,$sql,$dbHandle);
Fall 2;
//Funktionen verwenden, die SQL Server
unterstützen
Fall 3;
//Funktionen verwenden, die ODBC
unterstützen
}
}
//Rufen Sie die aktuelle Datensatzfunktion des SQL-Rückgabewerts
ab
Funktion dbFetchrow($dataHandle,$offset=-1){
switch($this->dbID)
{
Fall 1;
@mysql_data_seek($dataHandle,$offset);
return @mysql_fetch_row($dataHandle);
Fall 2;
//Funktionen verwenden, die SQL Server
unterstützen
Fall 3;
//Funktionen verwenden, die ODBC
unterstützen
}
}
//Funktion „Abgerufene Datensatznummer“ zurückgeben
Funktion dbNumrows($dataHandle){
switch($this->dbID)
{
Fall 1;
return @mysql_num_rows($dataHandle);
Fall 2;
//Funktionen verwenden, die SQL Server
unterstützen
Fall 3;
//Funktionen verwenden, die ODBC
unterstützen
}
}
//Die Funktion zum Abrufen der Anzahl der Spalten zurückgeben
Funktion dbNumcols($dataHandle){
switch($this->dbID)
{
Fall 1;
return @mysql_num_fields($dataHandle);
Fall 2;
//Funktionen verwenden, die SQL Server
unterstützen
Fall 3;
//Funktionen verwenden, die ODBC
unterstützen
}
}
}
Hier ist die Gebrauchsanweisung:
Verwenden Sie die dbInterface-Klasse, um ein Objekt im Programm $test=new dbInterface; zu generieren
Parameter einstellen
test->$dbUsername ;Benutzername
test->$dbPassword; Passwort
test->$dbHost;Host
void setParameter(string host, string username, string passwort);
Datenbankverbindung: dbhandle test->dbConnect();
Rückgabewert: Fasle, Datenbankverbindungsfehler
>0, Datenbankverbindungshandle
Datenbank schließen: void test->dbClose(dbhandle);
Tabellenoperation: int test->dbQuery(string Datenbankname, string sql, dbhandle); SQL-Anweisung
ausführen
Rückgabewert: false, SQL-Ausführungsfehler
>0, SQL wird korrekt ausgeführt und zeigt auf den SQL-Rückgabewert
Datenoperation: int test->dbFetchrow(dataHandle, int offset); ruft den aktuellen Datensatz des SQL-Rückgabewerts ab. Nach erfolgreicher Ausführung bewegt sich der Zeiger zum nächsten Datensatz
int test->dbNumrows(dataHandle); Ermittelt die Anzahl der nach der SQL-Ausführung erhaltenen Datensätze (hauptsächlich SELECT-Anweisung)
int test->dbNumcols(dataHandle); Ruft die Anzahl der Datensatzfelder ab, die nach der SQL-Ausführung erhalten wurden (hauptsächlich SELECT-Anweisung)
Zur Erläuterung geben wir Ihnen nun ein Beispiel:
Die Datenbank verwendet MQSQL: Ihr Hostname ist „localhost“, der Benutzername ist „root“ und das Passwort ist „“.
Es gibt eine testdb-Datenbank und Tabelle1 in MySQL. Die Tabelle enthält zwei Felder: Name und Bezahlung
-----
require("testdb.inc"); //dbInterface-Klasse laden
$test = new dbInterface;//Erzeuge ein Objekt mit der Klasse dbInterface
$test->setParameter("localhost","root",""); //Datenbankparameter festlegen
$db = $test->dbConnect();//Mit der Datenbank verbinden
$Query = "SELECT name,pay FROM table ";//SQL-Anweisung festlegen
$temp_result = $test->dbQuery("testdb",$Query,$db); //Datenmaster-Datenbankoperation ausführen
echo "
";
$ls_num = $test->dbNumrows($temp_result); //Anzahl der Datensätze im Abfrageergebnis abrufen
echo $ls_num;
echo "
";
if (ls_num>0 )
{
$ls_col = $test->dbNumcols($db); //Ermitteln Sie die Anzahl der Spalten in der Tabelle
echo $ls_col;
echo "
";
$cate_result=$test->dbFetchrow($temp_result,0);//Erste Zeile der Datensatznummer
abrufen
$hcid=$cate_result[0];//Den Wert des Namens
abrufen
$hcate=$cate_result[1];//Erhalten Sie den Wert der Bezahlung
echo $hcid;
echo "
";
echo $hcate;
}
?>
Dies ist eine einfache anwendungsgekapselte Klasse, um den Betrieb der Datenbank abzuschließen. Wenn Sie andere Datenbanken betreiben möchten, müssen Sie nur die dbID-Variable in der dbInterface-Klasse ändern.
Das Obige stellt vor, wie man Datenbankoperationen in PHP kapselt, einschließlich verschiedener Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Huawei führt weltweit die Softwareversion 5.0.0.100 (C00M01) für die Smartwatches Watch GT 5 und Watch GT 5 Pro ein. Diese beiden Smartwatches wurden kürzlich in Europa eingeführt, wobei das Standardmodell das günstigste Modell des Unternehmens ist. Diese Harmonie

Katsuhiro Harada, der Regisseur der Tekken-Serie, versuchte einst ernsthaft, Colonel Sanders in das legendäre Kampfspiel einzubeziehen. In einem Interview mit TheGamer verriet Harada, dass er die Idee dem KFC Japan vorstellte, in der Hoffnung, die Fast-Food-Legende als Gast hinzuzufügen

Tesla bringt die neueste Version 12.5.5 des vollständig autonomen Fahrens (Supervised) auf den Markt und bringt damit endlich die versprochene Cybertruck-FSD-Option mit, zehn Monate nachdem der Pickup mit der im Ausstattungspreis der Foundation Series enthaltenen Funktion in den Verkauf ging. F

Anfang September 2024 wurde das 140-W-Ladegerät Zolo von Anker durchgesickert, und das war eine große Sache, da es sich um das erste Wandladegerät mit Display des Unternehmens überhaupt handelte. Jetzt gibt uns ein neues Unboxing-Video von Xiao Li TV auf YouTube einen ersten Blick auf den Hi

Garmin beendet den Monat mit einer Reihe neuer stabiler Updates für seine neuesten High-End-Smartwatches. Um es noch einmal zusammenzufassen: Das Unternehmen hat die Systemsoftware 11.64 veröffentlicht, um den hohen Batterieverbrauch bei Enduro 3, Fenix E und Fenix 8 zu bekämpfen (aktuell 1.099,99 $ bei Amazon).

Xiaomi wird in Kürze den Mijia Graphene Oil Heater in China auf den Markt bringen. Das Unternehmen führte kürzlich eine erfolgreiche Crowdfunding-Kampagne für das Smart-Home-Produkt durch, die auf seiner Youpin-Plattform gehostet wurde. Laut der Seite hat der Versand des Geräts bereits begonnen

Die Einführung des lang erwarteten faltbaren „Special Edition“-Modells von Samsung hat eine weitere Wendung genommen. In den letzten Wochen verliefen die Gerüchte um die sogenannte Galaxy Z Fold Special Edition eher ruhig. Stattdessen hat sich der Fokus auf die Galaxy S25-Serie verlagert, darunter

Mit einer Geschichte von über einem Jahrzehnt gilt Manjaro als eine der benutzerfreundlichsten Linux-Distributionen, die sowohl für Anfänger als auch für Power-User geeignet ist und einfach zu installieren und zu verwenden ist. Diese Arch-basierte Distribution wurde hauptsächlich in Österreich, Deutschland und Frankreich entwickelt
