在PHP连接数据库,实现最基本的增删改查(面向过程)这篇文章中已经介绍了PHP连接数据库的方法以及最基本的对数据库的操作,但并没有实现模块化,所有的代码全都集中在表现页面中,造成了代码冗余,不仅不利于维护也不利于代码的重用性,那么在这篇文章中将用面向对象的知识对数据库的连接和基本操作方法进行封装,这样就大大避免了代码的重复。
下面我们就来创建一个数据库操作类:
1、创建mysql_class.php文件然后在该文件中创建Mysql类,并定义变量
class Mysql{
private $host;//服务器地址
private $root;//用户名
private $password;//密码
private $database;//数据库名
//后面所提到的各个方法都放在这个类里
//...
}
?>
2、通过构造函数初始化类
function __construct($host,$root,$password,$database){
$this->host = $host;
$this->root = $root;
$this->password = $password;
$this->database = $database;
$this->connect();
}
对于connect()方法,下一步再说
3、创建连接数据库及关闭数据库方法
function connect(){
$this->conn = mysql_connect($this->host,$this->root,$this->password)
or die("DB Connnection Error !".mysql_error());
mysql_select_db($this->database,$this->conn);
mysql_query("set names utf8");
}
function dbClose(){
mysql_close($this->conn);
}
4、对mysql_query()、mysql_fetch_array()、mysql_num_rows()函数进行封装
function query($sql){
return mysql_query($sql);
}
function myArray($result){
return mysql_fetch_array($result);
}
function rows($result){
return mysql_num_rows($result);
}
5、自定义查询数据方法
function select($tableName,$condition){
return $this->query("SELECT * FROM $tableName $condition");
}
6、自定义插入数据方法
function insert($tableName,$fields,$value){
$this->query("INSERT INTO $tableName $fields VALUES$value");
}
7、自定义修改数据方法
function update($tableName,$change,$condition){
$this->query("UPDATE $tableName SET $change $condition");
}
8、自定义删除数据方法
function delete($tableName,$condition){
$this->query("DELETE FROM $tableName $condition");
}
现在,数据库操作类已经封装好了,下面我们就来看看该怎么使用。
我们用的还是在PHP连接数据库,实现最基本的增删改查(面向过程)一文中所涉及到的数据库及表(表中数据自己添加):
9、那么我们先对数据库操作类进行实例化
$db = new Mysql("localhost","root","admin","beyondweb_test");
实例化可以在mysql_class.php文件中的Mysql类之外进行。
然后我们再创建一个test.php文件,首先把mysql_class.php文件引入
require("mysql_class.php");
?>
然后我们就开始操作吧
10、向表中插入数据
$insert = $db->insert("user","(nikename,email)",
"(#beyondweb#,#beyondwebcn@xx.com#)");//请把#号替换为单引号
$db->dbClose();
?>
11、修改表中数据
$update = $db->update("user","nikename = #beyondwebcn#","where id = #2#");//请把#号替换为单引号
$db->dbClose();
?>
12、查询表中数据并输出
$select = $db->select("user");
$row = $db->rows($select);
if($row>=1){
?>
id | nikename |
---|
while($array = $db->myArray($select)){
echo "
";echo "
".$array[#id#]."";//请把#号替换为单引号echo "
".$array[#nikename#]."";//请把#号替换为单引号echo "
".$array[#email#]."";//请把#号替换为单引号echo "
";}
?>
}else{
echo "查不到任何数据!";
}
$db->dbClose();
?>
13、删除表中数据
$delete = $db->delete("user","where nikename = #beyondweb#");//请把#号替换为单引号
$db->dbClose();
?>
以上就是BeyondWeb.cn关于PHP连接数据库,实现最基本的增删改查的全部内容,希望能够对各位起到一个抛砖引玉的作用,更希望大家能够提出宝贵的建议,以改善文章质量。