mysql 定义class_MySQL数据库类的定义
俗话说好的开始是成功的一半,而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数据库类的定义相关推荐
- mysql数据库新浪博客_4.MySQL数据库类的定义
4.MySQL数据库类的定义 (2008-06-16 20:33:09) 标签: 杂谈 4.MySQL数据库类的定义 俗话说"好的开始是成功的一半",而PHP+MySQL项目中数据 ...
- 【Groovy】闭包 Closure ( 闭包调用 与 call 方法关联 | 接口中定义 call() 方法 | 类中定义 call() 方法 | 代码示例 )
文章目录 总结 一.接口中定义 call() 方法 二.类中定义 call() 方法 三.完整代码示例 总结 在 实例对象后使用 " () " 括号符号 , 表示调用该实例对象的 ...
- python中类的定义方法_Python类的定义、方法和属性使用
类用来描述具有相同的属性和方法的对象的集合. 对于在类中定义的函数,称为方法. 类变量不直接叫做类变量,称为属性. 1.类的定义 例子: classUser():pass 说明: (1)定义了一个类名 ...
- java mysql dbhelper_DbHelper通用数据库类及增删改 使用示例
DbHelper db = new DbHelper(); protected void Page_Load(object sender, EventArgs e) { } //新增数据 protec ...
- 定义一个Pet类,定义Cat,Dog,为子类继承Pet类。
class Pet { public void shout() //喊叫方法,方法体为空 { } } //Dog类,继承自Pet类,使用extends关键字 class Dog extends Pe ...
- 4-17 定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试类,进行测试。
文章目录 // 周长 // 面积 package ZUOYE; public class zuoye1 {public static void main(String[] args) {Rectang ...
- java定义一个生日类_java定义一个学生类,学生类的数据成员有姓名,学号,出生日期,专业,提供两个以上的...
匿名用户 1级 2015-09-28 回答 直接给出具体代码 public class StudentDto implements Serializable { private static fina ...
- java 定义一个rectangle类,Java定义一个Rectangle类
满意答案 banger2000 推荐于 2017.10.12 采纳率:44% 等级:10 已帮助:815人 class Rectangle { private double width; pri ...
- python定义一个复数类complex_定义一个复数类Complex,重载运算符“+”、“-”、“*”和“/”,使之能用于复数的加、减、乘和除。...
展开全部 #include using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(double ...
最新文章
- 有了这款可视化工具,Java 应用性能分析、调优 so easy...
- 关于绑定IP地址与端口号的见解
- 两道递推公式题的解题报告
- c++ char*转string_CC++|输入输出与内存、缓存、设备文件
- MySQL8.0.16主从同步
- ajax如何做到异步交互,1.ajax简单实现异步交互
- 相机成像原理_照相机、摄影机的成像原理
- Spring定时任务@Scheduled提前一秒执行
- 决策树算法与应用 学习笔记
- 【语音合成】基于matlab比例重叠相加法信号分帧与还原【含Matlab源码 561期】
- 如何在虚拟机安装windows server 2003
- SQL 基础教程 (第2版)
- 毕业设计之 ---- 基于jsp的网上购书系统
- 免费的18个开源快速建站Java CMS
- 2022邮件群发软件哪个好,群发邮件软件推荐
- 5.20 按照邮箱账号的域名进行排序 [原创Excel教程]
- CPU-Z查看内存条信息
- USB大容量存储设备无法启动该怎么办?
- Linux下文件的备份
- 技术不是越来越简单,而是框架是你的羁绊
热门文章
- java怎么写隐藏bug_同事牛逼啊,写了个隐藏 bug,我排查了 3 天才解决问题!
- php五只猴子分椰子_PHP实现的猴王算法(猴子选大王)示例
- python2.0正式发布时间_终于来了!!Pyston v2.0 发布,解决 Python 慢速的救星
- 基于 gulp 的 fancybox 源码压缩
- 科研文献|常见豆类根际的持久微生物组成员:空间、时间和植物基因型的综合分析
- npj Microbiomes|细菌群落的整体涌现特性诱导了拟南芥的干旱抗性(一作解读)
- QIIME 2教程. 10数据导出ExportingData(2021.2)
- Nature子刊:残留DNA在土壤中含量丰富并且模糊了对土壤生物多样性的估计
- 你想要的宏基因组-微生物组知识全在这
- seaborn可视化水平箱图并添加抖动数据点(Horizontal boxplot with jittered points in Python)