选择显示字体大小

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变量即可. 



  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons