Heim php教程 php手册 PHP中对数据库操作的封装

PHP中对数据库操作的封装

Jun 21, 2016 am 09:06 AM
case sql test

封装|数据|数据库

现在我们把其封装在dbfz.inc中,其设计如下:
$#@60;?
class dbInterface{ var $dbID=1; //用于确定当前操作的数据库,当dbID为1代表MySql,当为 2代表 SQL Server,为3时为ODBC或其它。
var $dbHost; //数据库所在主机域名
var $dbUsername; //数据库用户名
var $dbPassword; //用户密码
//设置主机、用户名及密码函数
function setParameter($host,$username,$password){
$this-$#@62;dbUsername=$username;
$this-$#@62;dbHost=$host;
$this-$#@62;dbPassword=$password;
}
//联接数库函数
function dbConnect(){
switch($this-$#@62;dbID)
{
case 1;
return @mysql_connect($this-$#@62;dbHost,$this-$#@62;dbUsername,$this-$#@62;dbPassword);
case 2;
//用支持SQL Server的函数
case 3;
//用支持ODBC的函数
}
}
//关闭数库函数
function dbClose($dataHandle){
switch($this-$#@62;dbID)
{
case 1;
mysql_close($dataHandle);
case 2;
//用支持SQL Server的函数
case 3;
//用支持ODBC的函数
}
}

//执行SQL语句函数
function dbQuery($dbName,$sql,$dbHandle){
switch($this-$#@62;dbID)
{
case 1;
return @mysql_db_query($dbName,$sql,$dbHandle);
case 2;
//用支持SQL Server的函数
case 3;
//用支持ODBC的函数
}
}

//检索SQL返回值的当前记录函数
function dbFetchrow($dataHandle,$offset=-1){
switch($this-$#@62;dbID)
{
case 1;
@mysql_data_seek($dataHandle,$offset);
return @mysql_fetch_row($dataHandle);
case 2;
//用支持SQL Server的函数
case 3;
//用支持ODBC的函数
}
}

//返回检索记录数函数
function dbNumrows($dataHandle){
switch($this-$#@62;dbID)
{
return @mysql_num_rows($dataHandle);
case 2;
//用支持SQL Server的函数
case 3;
//用支持ODBC的函数
}
}


//返回检索列数函数
function dbNumcols($dataHandle){
switch($this-$#@62;dbID)
{
case 1;
return @mysql_num_fields($dataHandle);
case 2;
//用支持SQL Server的函数
case 3;
//用支持ODBC的函数
}
}
}


现把使用说明如下:

在程序中用dbInterface类生一个对象$test=new dbInterface;

设置参数
test-$#@62;$dbUsername ;用户名
test-$#@62;$dbPassword;密码
test-$#@62;$dbHost;主机
void setParameter(string host, string username, string password);

数据库连接:dbhandle test-$#@62;dbConnect();

返回值:fasle ,数据库连接错误
$#@62;0, 数据库连接句柄

数据库关闭:void test-$#@62;dbClose(dbhandle);

表操作:int test-$#@62;dbQuery(string databasename, string sql,dbhandle);执行SQL语句

返回值: false, SQL执行错误
$#@62;0, SQL执行正确, 同时指向SQL返回值,

数据操作:int test-$#@62;dbFetchrow(dataHandle,int offset);检索SQL返回值的当前记录,成功执行后,指针移向下一条记录
int test-$#@62;dbNumrows(dataHandle); 取得SQL执行后(主要为SELECT语句)获得的记录数
int test-$#@62;dbNumcols(dataHandle); 取得SQL执行后(主要为SELECT语句)获得的记录字段数

现在我们发一个例了讲解:

  数据库采用MQSQL:其主机名为 "localhost",用户名为"root"和密码""。
在mysql中有一个testdb数据库及其中的表table1,表包括:name和pay两个字段

-----
$#@60;HTML$#@62;$#@60;HEAD$#@62;
$#@60;TITLE$#@62;test$#@60;/TITLE$#@62;
$#@60;/HEAD$#@62;$#@60;BODY$#@62;
$#@60;P$#@62; $#@60;?php
require("testdb.inc"); //装载dbInterface类
$test = new dbInterface;//用类dbInterface生成一个对象
$test-$#@62;setParameter("localhost","root","");//设置数据库参数
$db = $test-$#@62;dbConnect();//连接数据库
$Query = "SELECT name,pay FROM table ";//设置SQL语句
$temp_result = $test-$#@62;dbQuery("testdb",$Query,$db);//执行数据主库操作
echo "$#@60;br$#@62;";
$ls_num = $test-$#@62;dbNumrows($temp_result); //取得查询结果的记录数
echo $ls_num;
echo "$#@60;br$#@62;";
if (ls_num$#@62;0 )
{
$ls_col = $test-$#@62;dbNumcols($db); //取得表的列数
echo $ls_col;
echo "$#@60;br$#@62;";
$cate_result=$test-$#@62;dbFetchrow($temp_result,0);//取得记录数的第一行
$hcid=$cate_result[0];// 取得name的值
$hcate=$cate_result[1];//取得pay的值
echo $hcid;
echo "$#@60;br$#@62;";
echo $hcate;
}

?$#@62;
$#@60;HR$#@62;
$#@60;ADDRESS$#@62;$#@60;/ADDRESS$#@62;
$#@60;/BODY$#@62;$#@60;/HTML$#@62;
  这就是一个简单的应用封装的类来完成对数据库的操作。如果要操作其它数据库只需要修改dbInterface类中的dbID变量即可.

 



Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die Smartwatch Huawei Watch GT 5 erhält ein Update mit neuen Funktionen Die Smartwatch Huawei Watch GT 5 erhält ein Update mit neuen Funktionen Oct 03, 2024 am 06:25 AM

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

Tekkens Colonel Sanders-Traum von KFC gebraten Tekkens Colonel Sanders-Traum von KFC gebraten Oct 02, 2024 am 06:07 AM

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

Garmin veröffentlicht über ein neues Update Verbesserungen der Adventure Racing-Aktivität für mehrere Smartwatches Garmin veröffentlicht über ein neues Update Verbesserungen der Adventure Racing-Aktivität für mehrere Smartwatches Oct 01, 2024 am 06:40 AM

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).

Der neue Xiaomi Mijia Graphene Oil Heater mit HyperOS ist da Der neue Xiaomi Mijia Graphene Oil Heater mit HyperOS ist da Oct 02, 2024 pm 09:02 PM

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

Manjaro 24.1 „Xahea' startet mit KDE Plasma 6.1.5, VirtualBox 7.1 und mehr Manjaro 24.1 „Xahea' startet mit KDE Plasma 6.1.5, VirtualBox 7.1 und mehr Oct 02, 2024 am 06:06 AM

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

MySQL und SQL: Wesentliche Fähigkeiten für Entwickler MySQL und SQL: Wesentliche Fähigkeiten für Entwickler Apr 10, 2025 am 09:30 AM

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

Wie man AWS -Kleber mit Amazon Athena verwendet Wie man AWS -Kleber mit Amazon Athena verwendet Apr 09, 2025 pm 03:09 PM

Als Datenprofi müssen Sie große Datenmengen aus verschiedenen Quellen verarbeiten. Dies kann Herausforderungen für das Datenmanagement und die Analyse darstellen. Glücklicherweise können zwei AWS -Dienste helfen: AWS -Kleber und Amazon Athena.

MINISFORUM BD790i SE Mini-ITX-Mainboard mit AMD Ryzen 9 7940HX jetzt verfügbar MINISFORUM BD790i SE Mini-ITX-Mainboard mit AMD Ryzen 9 7940HX jetzt verfügbar Oct 02, 2024 am 06:06 AM

Das BD790i SE ist die neueste Mini-ITX-Motherboard-Option von MINISFORUM, nachdem das BD770i und das BD790i im Oktober 2023 bzw. Februar 2024 auf den Markt kamen. Soweit wir das beurteilen können, ersetzt der BD790i SE effektiv den BD770i, den MINISFORUM nun eingestellt hat

See all articles