MySQL数据库类的定义

2016-02-19 14:08 9 1 收藏

下面图老师小编要向大家介绍下MySQL数据库类的定义,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - 编程语言 】

俗话说“好的开始是成功的一半”,而PHP+MySQL项目中数据库的操作是重点之一,能否简化数据库操作程序的编写,就成了影响工作效率的关键之一。

所以小阳并不是一开始就做页面,而是先建立一个“dbclass.php”文件,开始编写操作MySQL数据库的类“dbClass”。即在“dbclass.php”中编写以下程序:

<? php

$db_username="myusername"; //连接数据库的用户名
$db_password="mypassword"; //连接数据库的密码
$db_database="mydatabase"; //数据库名
$db_hostname="localhost"; //服务器地址

class dbClass{ //开始数据库类
var $username;
var $password;
var $database;
var $hostname;
var $link;
var $result;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

function dbClass($username,$password,$database,$hostname="localhost"){
$this-username=$username;
$this-password=$password;
$this-database=$database;
$this-hostname=$hostname;
}
function connect(){ //这个函数用于连接数据库
$this-link=mysql_connect($this-hostname,$this-username,$this-password) or die("Sorry,can not connect to database");
return $this-link;
}
function select(){ //这个函数用于选择数据库
mysql_select_db($this-database,$this-link);
}

function query($sql){ //这个函数用于送出查询语句并返回结果,常用。
if($this-result=mysql_query($sql,$this-link)) return $this-result;
else {
//这里是显示SQL语句的错误信息,主要是设计阶段用于提示。正式运行阶段可将下面这句注释掉。
echo "SQL语句错误: <font color=red$sql</font> <BR><BR>错误信息: ".mysql_error();
return false;
}
}

/*
以下函数用于从结果取回数组,一般与 while()循环、$db-query($sql) 配合使用,例如:
$result=query("select * from mytable");
while($row=$db-getarray($result)){
echo "$row[id] ";
}
*/
function getarray($result){
return @mysql_fetch_array($result);
}

/*
以下函数用于取得SQL查询的第一行,一般用于查询符合条件的行是否存在,例如:
用户从表单提交的用户名$username、密码$password是否在用户表“user”中,并返回其相应的数组:
if($user=$db-getfirst("select * from user where username=''$username'' and password=''$password'' "))
echo "欢迎 $username ,您的ID是 $user[id] 。";
else
echo "用户名或密码错误!";
*/
function getfirst($sql){
return @mysql_fetch_array($this-query($sql));
}

/*
以下函数返回符合查询条件的总行数,例如用于分页的计算等要用到,例如:
$totlerows=$db-getcount("select * from mytable");
echo "共有 $totlerows 条信息。";
*/
function getcount($sql){
return @mysql_num_rows($this-query($sql));
}

/*
以下函数用于更新数据库,例如用户更改密码:
$db-update("update user set password=''$new_password'' where userid=''$userid'' ");
*/
function update($sql){
return $this-query($sql);
}

/*
以下函数用于向数据库插入一行,例如添加一个用户:
$db-insert("insert into user (userid,username,password) values (null,''$username'',''$password'')");
*/
function insert($sql){
return $this-query($sql);
}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

function getid(){ //这个函数用于取得刚插入行的id
return mysql_insert_id();
}
}

/*
主要函数就是这些,如果你自己有另外的需要,也可以自己添加上去。
因为凡使用该类的都必须连接数据库,下面就连接并选择好数据库吧:
*/
$db=new dbClass("$db_username","$db_password","$db_database","$db_hostname");
$db-connect();
$db-select();

OK,数据库的类已经写好了,它不但可以用在目前这个项目中,其他项目的同样适用!只要把“dbclass.php”复制过去就行了。要用本文件的时候只要用语句“include_once("dbclass.php")”就行,具体语法在编写数据库类时已有举例,不再赘述。

写好数据库的类后,数据库的操作就方便多了,项目的制作已跨出了重要的第一步。

来源:http://www.tulaoshi.com/n/20160219/1606241.html

延伸阅读
4.5 调度与锁定问题     前面各段主要将精力集中在使个别的查询更快上。MySQL 还允许影响语句的调度特性,这样会使来自几个客户机的查询更好地协作,从而单个客户机不会被锁定太长的时间。更改调度特性还能保证特定的查询处理得更快。我们先来看一下MySQL 的缺省调度策略,然后来看看为改变这个策略可使用什么样的选项。出...
MaxDB是MySQL AB公司通过SAP认证的数据库。MaxDB数据库服务器补充了MySQL AB产品系列。某些MaxDB特性在MySQL数据库服务器上不可用,反之亦然。 下面简要介绍了MaxDB和MySQL的主要差别。 ·MaxDB是采用客户端/服务器模式运作的系统。MySQL能够作为客户端/服务器系统运行,也能作为嵌入式系统运行。 ·MaxDB或许不能运行在...
3.2 MySQL 的命名规则     几乎每条SQL 语句都在某种程度上涉及一个数据库或其组成成分。本节介绍引用数据库、表、列、索引和别名的语法规则。名称是区分大小写的,这里也对其进行了介绍。     3.2.1 引用数据库的成分     在用名称引用数据库的成分时,受到可使用的字符以及名称可具有...
3.7 加注释     MySQL 允许在SQL 代码中使用注释。这对于说明存放在文件中的查询很有用处。可用两个方式编写注释。以“ #”号开头直到行尾的所有内容都认为是注释。另一种为C 风格的注释。即,以“/ *”开始,以“* /”结束的所有内容都认为是注释。C 风格的注释可跨多行,如:     自MySQL 3.23 版以...
5.2 选择API     本节介绍根据各种类型的应用程序选择A P I的方法,比较C、DBI 和PHP API 的能力,并给出它们相对的优点和缺点,并指出什么时候应选择哪一个。     首先应该指出,笔者不认为任一种语言优于其他语言。尽管笔者的确有自己的喜好,但还是统统使用它们。您也会有自己的喜好,像我的评论家一...

经验教程

381

收藏

94
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部