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; //用户密码

http://www.gaodaima.com/46682.htmlphp中对数据库操作的封装_php

//设置主机、用户名及密码函数

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

欢迎大家阅读《PHP中对数据库操作的封装_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344420.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring框架架构

这是Spring Framework Architecture的概述。 了解Spring Framework的各个组成部分如何组织以及如何相互联系。 如果您想了解什么是Spring框架及其功能,请阅读Spring框架简介 。 总览 Spring是一个模块化框架 。 它不是作为一个软件包或多个模块捆绑在一起的。 各种…

国家开放大学2021春1073法律文书答案

教育 教育 试卷代号:1073 2 0 2 1年春季学期期末统一考试 法律文书 试题答案及评分标准 (供参考) 2021年7月 一、单项选择题(本大题共6小题,每小题3分,共18分。在每小题列出的四个备选答案中只 有一个符合…

【渝粤教育】广东开放大学 社会工作行政 形成性考核 (52)

选择题 题目:社会工作行政的一般环境是指从社会工作行政组织内部对社会工作行政的过程、方法等产生直接影响的各种因素的总和 题目:社会工作行政环境是指对社会工作行政的过程、方法、程序、效率、效果等产生影响的各种力量和条件因素的总和。 题目&…

php中n12br,PHP常见字符串操作函数与用法总结

一、字符串的格式化1、字符串的格式化trim()函数可以去除字符串的开始位置和结束位置的空格,并将结果字符串返回,默认情况下去除的字符是换行符和回车符(\n和\r),水平和垂直制表符(\t和X0B)ltrim()函数只从字符的开始处(左边)去除空格rtrim()函数只从函数…

php变量 声明提升,TypeScript:let和const变量声明

在开始介绍let和const变量声明前,有必要先了解下JavaScript里的var变量声明。var变量声明全局声明var声明在函数体外,所声明的变量为全局变量。var name "张三";var所声明的全局变量会作为window的一个属性,可以使用"."…

面向切面编程应用_应用面向方面的编程

面向切面编程应用1.引言 面向方面编程的主要目标是将跨领域关注点分离。 当我们谈论跨领域的关注时,我们指的是在我们的系统或应用程序中的多个地方使用的通用功能。 这些概念包括: 记录中 交易管理 错误处理 监控方式 安全 实现这种分离的方法是将…

【渝粤题库】陕西师范大学201541 合同法作业

《合同法》作业 一、单项选择题 李某将自己房屋租给张某使用,租给一段时间后,双方经过商议达成房屋买卖合同,则该房屋的所有权发生转移的特别生效要件是下列哪种行为? A.占有改定 B.简易交付 C.登记 D.公证 2.甲念高三…

php 字符串索引值,PHP:字符串索引不一致?

我创建了一个函数,该函数从硬编码的单词列表中随机生成一个短语.我有一个函数get_words(),该函数具有一串硬编码的单词,将其转换成一个数组,然后重新排列并返回.get_words()由generate_random_phrase()调用,它会反复遍历get_words()n次,并且在每次迭代时,将n个单词连接到最终的…

【渝粤题库】陕西师范大学202013 民法专论 作业

《民法专论》作业 一、单选题 1、为了保护民事主体的合法权益,调整民事关系,维护社会和经济秩序,适应 ,弘扬社会主义核心价值观,根据宪法,制定本法。下划线处应填(  ) A. 社会主义…

使用JUnit5对DynamoDB应用程序进行单元测试

在之前的文章中,我描述了新的Java 2 AWS SDK,它为调用不同AWS服务的Java客户端提供了非阻塞IO支持。 在本文中,我将介绍一种用于单元测试AWS DynamoDB调用的方法。 有几种方法可以启动DynamoDB的本地版本– 1. AWS提供了一个DynamoDB本地 …

【渝粤题库】陕西师范大学202421 教育管理心理学 作业 (专升本)

《教育管理心理学》作业 一、名词解释 人际知觉 2.态度 3.内化 4.社会知觉角色知觉 6.晕轮效应 7.激励因素 8.经济人退化 10.首因效应 11.激励 12.需要 13.保健因素 14. 挫折 15.制…

centos 安装php扩展gd,linux(centos)下为php添加添加GD扩展

yum -y install libjpeglibjpeg-devel libpng libpng-devel freetype freetype-devel 安装依赖库yum -y install libjpeg-devel1.首先切换到php源码目录:/usr/local/php-5.6.29/ext/gd2.利用phpize生成gd扩展文件,/usr/local/php/bin/mipsel-linux-phpize, ls 或者 …

【渝粤题库】陕西师范大学209013 计量经济学 作业

一、名词解释 1.偏回归系数 2.异方差性 3.虚拟变量 4.间接最小二乘法 5.调整的多元可决系数 6.序列相关性 7.滞后变量 8.行为方程 9.受约束回归 10.多重共线…

【渝粤题库】陕西师范大学210023 学前儿童社会教育 作业(专升本)

《学前儿童社会教育》作业 一、单选题 1.我国有关儿童社会性发展研究得到迅速发展的年代是( ) A.20世纪30年代 B.20世纪70年代 C.20世纪80年代 D..20世纪90年代 2.安斯沃思将婴幼儿的…

php numeric乘法,PHP is_numeric()用法及代码示例

is_numeric()函数是PHP中的内置函数,用于检查传入函数中作为参数的变量是数字还是数字字符串。该函数返回一个布尔值。用法:bool is_numeric ( $var )参数:该函数接受一个必须的单个参数,如下所述:$var:此输入参数是变量&#xff…

【渝粤题库】陕西师范大学292161社会保障概论 作业(专升本)

《社会保障概论》作业 一、填空题 1、英国政府于1601年颁布了 ,标志着社会保障制度的萌芽。 2、 是社会保障制度的核心部分, 是社会保障的最高层次; 是社会保障最后一道防线。 3、就业保障制度包括: 、 、 三方面内容。 4、工伤保…

jooq权限配置_将jOOQ与Spring结合使用:配置

jooq权限配置我遇到了由ORM引起的性能问题。 尽管我不得不承认大多数这些问题确实是由您造成的,但是我开始认为在只读操作中使用ORM是不值得的。 我开始寻找实现这些操作的替代方法。 这就是我遇到jOOQ的方式 ,它指出: jOOQ从您的数据库生…

【渝粤题库】陕西师范大学600001物理化学(上) 作业(专升本)

《物理化学(上)》作业 一.单选题 1.下列物理量中属于强度性质的是 A. H B. S C. p D. G 2.298.2K时,1mol的氧气(可视为理想气体)经等温可逆膨胀后,体积胀大10倍,对于该过程来说, 其Δ…

employee.java,Java基础系列(六):对象与类(上)

概述类(class)是构造对象的模板。由类构造对象的过程称为创建类的实例。封装从形式上看,封装是将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。对象中的数据称为实例域,而操纵数据的过程称之为方法。对于每个特定的类实例…

【渝粤题库】陕西师范大学800007 地理信息系统

《地理信息系统》作业 一.名词解释 1.TIN       2 .缓冲区分析 3.元数据 4. 地理信息系统 5.空间数据库  6.拓扑关系 7.矢量结…