俗话说好的开始是成功的一半,而PHP+MySQL项目中数据库的操作是重点之一,能否简化数据库操作程序的编写,就成了影响工作效率的关键之一。 所以小阳并不是一开始就做页面,而是先建立一个dbclass.php文件,开始编写操作MySQL数据库的类dbClass。即在dbclass.

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

所以小阳并不是一开始就做页面,而是先建立一个“dbclass.php”文件,开始编写操作MySQL数据库的类“dbClass”。即在“dbclass.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语句错误: $sql

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

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql 定义class_MySQL数据库类的定义相关推荐

  1. mysql数据库新浪博客_4.MySQL数据库类的定义

    4.MySQL数据库类的定义 (2008-06-16 20:33:09) 标签: 杂谈 4.MySQL数据库类的定义 俗话说"好的开始是成功的一半",而PHP+MySQL项目中数据 ...

  2. 【Groovy】闭包 Closure ( 闭包调用 与 call 方法关联 | 接口中定义 call() 方法 | 类中定义 call() 方法 | 代码示例 )

    文章目录 总结 一.接口中定义 call() 方法 二.类中定义 call() 方法 三.完整代码示例 总结 在 实例对象后使用 " () " 括号符号 , 表示调用该实例对象的 ...

  3. python中类的定义方法_Python类的定义、方法和属性使用

    类用来描述具有相同的属性和方法的对象的集合. 对于在类中定义的函数,称为方法. 类变量不直接叫做类变量,称为属性. 1.类的定义 例子: classUser():pass 说明: (1)定义了一个类名 ...

  4. java mysql dbhelper_DbHelper通用数据库类及增删改 使用示例

    DbHelper db = new DbHelper(); protected void Page_Load(object sender, EventArgs e) { } //新增数据 protec ...

  5. 定义一个Pet类,定义Cat,Dog,为子类继承Pet类。

    class Pet { public void shout()  //喊叫方法,方法体为空 { } } //Dog类,继承自Pet类,使用extends关键字 class Dog extends Pe ...

  6. 4-17 定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试类,进行测试。

    文章目录 // 周长 // 面积 package ZUOYE; public class zuoye1 {public static void main(String[] args) {Rectang ...

  7. java定义一个生日类_java定义一个学生类,学生类的数据成员有姓名,学号,出生日期,专业,提供两个以上的...

    匿名用户 1级 2015-09-28 回答 直接给出具体代码 public class StudentDto implements Serializable { private static fina ...

  8. java 定义一个rectangle类,Java定义一个Rectangle类

    满意答案 banger2000 推荐于 2017.10.12 采纳率:44%    等级:10 已帮助:815人 class Rectangle { private double width; pri ...

  9. python定义一个复数类complex_定义一个复数类Complex,重载运算符“+”、“-”、“*”和“/”,使之能用于复数的加、减、乘和除。...

    展开全部 #include using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(double ...

最新文章

  1. 有了这款可视化工具,Java 应用性能分析、调优 so easy...
  2. 关于绑定IP地址与端口号的见解
  3. 两道递推公式题的解题报告
  4. c++ char*转string_CC++|输入输出与内存、缓存、设备文件
  5. MySQL8.0.16主从同步
  6. ajax如何做到异步交互,1.ajax简单实现异步交互
  7. 相机成像原理_照相机、摄影机的成像原理
  8. Spring定时任务@Scheduled提前一秒执行
  9. 决策树算法与应用 学习笔记
  10. 【语音合成】基于matlab比例重叠相加法信号分帧与还原【含Matlab源码 561期】
  11. 如何在虚拟机安装windows server 2003
  12. SQL 基础教程 (第2版)
  13. 毕业设计之 ---- 基于jsp的网上购书系统
  14. 免费的18个开源快速建站Java CMS
  15. 2022邮件群发软件哪个好,群发邮件软件推荐
  16. 5.20 按照邮箱账号的域名进行排序 [原创Excel教程]
  17. CPU-Z查看内存条信息
  18. USB大容量存储设备无法启动该怎么办?
  19. Linux下文件的备份
  20. 技术不是越来越简单,而是框架是你的羁绊

热门文章

  1. java怎么写隐藏bug_同事牛逼啊,写了个隐藏 bug,我排查了 3 天才解决问题!
  2. php五只猴子分椰子_PHP实现的猴王算法(猴子选大王)示例
  3. python2.0正式发布时间_终于来了!!Pyston v2.0 发布,解决 Python 慢速的救星
  4. 基于 gulp 的 fancybox 源码压缩
  5. 科研文献|常见豆类根际的持久微生物组成员:空间、时间和植物基因型的综合分析
  6. npj Microbiomes|细菌群落的整体涌现特性诱导了拟南芥的干旱抗性(一作解读)
  7. QIIME 2教程. 10数据导出ExportingData(2021.2)
  8. Nature子刊:残留DNA在土壤中含量丰富并且模糊了对土壤生物多样性的估计
  9. 你想要的宏基因组-微生物组知识全在这
  10. seaborn可视化水平箱图并添加抖动数据点(Horizontal boxplot with jittered points in Python)