快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

MYSQL数据库类的定义

????俗话说“好的开始是成功的一半”,而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;

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);
}

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”复制过去就行了。要用本文件的时候只要用语句“inslude_once("dbclass.php")”就行,详细语法在编写数据库类时已有举例,不再赘述。

????写好数据库的类后,数据库的操作就方便多了,项目的制作已跨出了重要的第一步。
返回类别: 教程
上一教程: MYSQL 5.0新特性教程 存储过程:第一讲
下一教程: 配置SQL SERVER 2000选项

您可以阅读与"MYSQL数据库类的定义"相关的教程:
· 迅速修复MYSQL数据库
· MYSQL事务数据库(INNODB类型)的安装方式
· MYSQL数据库函数详解(4)
· 如何使用ERWIN进行基于MYSQL的数据库设计
· 如何从MYSQL数据库表中检索数据
    微笑服务 优质保证 索取样品