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

封装|数据|数据库

现在我们把其封装在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变量即可.

 



성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경