zoukankan      html  css  js  c++  java
  • PHP连接数据库,实现最基本的增删改查(面向对象)

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
        class Mysql{
            private $host;//服务器地址
            private $root;//用户名
            private $password;//密码
            private $database;//数据库名
             
            //后面所提到的各个方法都放在这个类里
            //...
        }
    ?>

    2、通过构造函数初始化类

    1
    2
    3
    4
    5
    6
    7
    function __construct($host,$root,$password,$database){
        $this->host = $host;
        $this->root = $root;
        $this->password = $password;
        $this->database = $database;
        $this->connect();
    }

    对于connect()方法,下一步再说

    3、创建连接数据库及关闭数据库方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    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()函数进行封装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function query($sql){
        return mysql_query($sql);
    }
            
    function myArray($result){
        return mysql_fetch_array($result);
    }
            
    function rows($result){
        return mysql_num_rows($result);
    }

    5、自定义查询数据方法

    1
    2
    3
    function select($tableName,$condition){
        return $this->query("SELECT * FROM $tableName $condition");
    }

    6、自定义插入数据方法

    1
    2
    3
    function insert($tableName,$fields,$value){
        $this->query("INSERT INTO $tableName $fields VALUES$value");
    }

    7、自定义修改数据方法

    1
    2
    3
    function update($tableName,$change,$condition){
        $this->query("UPDATE $tableName SET $change $condition");
    }

    8、自定义删除数据方法

    1
    2
    3
    function delete($tableName,$condition){
        $this->query("DELETE FROM $tableName $condition");
    }

    现在,数据库操作类已经封装好了,下面我们就来看看该怎么使用。

    我们用的还是在PHP连接数据库,实现最基本的增删改查(面向过程)一文中所涉及到的数据库及表(表中数据自己添加):

    9、那么我们先对数据库操作类进行实例化

    1
    $db = new Mysql("localhost","root","admin","beyondweb_test");

    实例化可以在mysql_class.php文件中的Mysql类之外进行。

    然后我们再创建一个test.php文件,首先把mysql_class.php文件引入

    1
    2
    3
    <?php
        require("mysql_class.php");
    ?>

    然后我们就开始操作吧

    10、向表中插入数据

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

    11、修改表中数据

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

    12、查询表中数据并输出

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?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、删除表中数据

    1
    2
    3
    4
    <?php
        $delete = $db->delete("user","where nikename = #beyondweb#");//请把#号替换为单引号
        $db->dbClose();
    ?>
  • 相关阅读:
    android listview去掉分割线
    svn 上传 过滤
    PPPOE 模拟环境搭建
    Android笔记之网络-基本了解
    ios多线程操作(五)—— GCD串行队列与并发队列
    UVa 679
    android中更改spinner、AutoCompleteTextView切割线的颜色
    Cocos2d-x中触摸事件
    全然符合package.json在CommonJS中的规范
    Hibernate实体对象继承策略
  • 原文地址:https://www.cnblogs.com/---cc/p/3739681.html
Copyright © 2011-2022 走看看