分享

PHP连接数据库,实现最基本的增删改查(面向对象)

 chaosa 2015-09-07
PHP连接数据库,实现最基本的增删改查(面向过程)这篇文章中已经介绍了PHP连接数据库的方法以及最基本的对数据库的操作,但并没有实现模块化,所有的代码全都集中在表现页面中,造成了代码冗余,不仅不利于维护也不利于代码的重用性,那么在这篇文章中将用面向对象的知识对数据库的连接和基本操作方法进行封装,这样就大大避免了代码的重复。

下面我们就来创建一个数据库操作类:

1、创建mysql_class.php文件然后在该文件中创建Mysql类,并定义变量

<?php
    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文件引入

<?php
    require("mysql_class.php");
?>

然后我们就开始操作吧

10、向表中插入数据

<?php
    $insert = $db->insert("user","(nikename,email)",
"(#beyondweb#,#beyondwebcn@xx.com#)");//请把#号替换为单引号
    $db->dbClose();
?>

11、修改表中数据

<?php
    $update = $db->update("user","nikename = #beyondwebcn#","where id = #2#");//请把#号替换为单引号
    $db->dbClose();
?>

12、查询表中数据并输出

<?php
    $select = $db->select("user");
    $row = $db->rows($select);
    if($row>=1){
?>
<table border="1px">
    <tr>
        <th>id</th>
        <th>nikename</th>
        <th>email</th>
    </tr>
<?php
    while($array = $db->myArray($select)){
        echo "<tr>";
        echo "<td>".$array[#id#]."</td>";//请把#号替换为单引号
        echo "<td>".$array[#nikename#]."</td>";//请把#号替换为单引号
        echo "<td>".$array[#email#]."</td>";//请把#号替换为单引号
        echo "</tr>";
    }
?>
</table>
<?php
    }else{
        echo "查不到任何数据!";
    }
     
    $db->dbClose();
?>

13、删除表中数据

<?php
    $delete = $db->delete("user","where nikename = #beyondweb#");//请把#号替换为单引号
    $db->dbClose();
?>

以上就是BeyondWeb.cn关于PHP连接数据库,实现最基本的增删改查的全部内容,希望能够对各位起到一个抛砖引玉的作用,更希望大家能够提出宝贵的建议,以改善文章质量。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多