PHP实现增删改查的MySQLi数据库操作类

文章提供了一个简单的PHP类,用于实现MySQLi数据库的连接和基本操作,包括查询、选择、插入、更新和删除数据。用户可以通过实例化此类并传入数据库配置来执行CRUD操作。

这是一个非常简单的使用PHP实现增删改查的MySQLi数据库操作类,以下是完整的代码及使用示例。

Database.php
<?php

class Database {
    private $host;
    private $user;
    private $password;
    private $database;
    private $connection;

    public function __construct($host, $user, $password, $database) {
        $this->host = $host;
        $this->user = $user;
        $this->password = $password;
        $this->database = $database;
        $this->connection = new mysqli($this->host, $this->user, $this->password, $this->database);
        if ($this->connection->connect_error) {
            die("Connection failed: " . $this->connection->connect_error);
        }
    }

    public function query($sql) {
        $result = $this->connection->query($sql);
        if (!$result) {
            die("Query failed: " . $this->connection->error);
        }
        return $result;
    }

    public function select($table, $fields, $conditions = "", $limit = "") {
        $sql = "SELECT " . $fields . " FROM " . $table;
        if (!empty($conditions)) {
            $sql .= " WHERE " . $conditions;
        }
        if (!empty($limit)) {
            $sql .= " ORDER BY " . $limit;
        }
        $result = $this->query($sql);
        $rows = array();
        while ($row = $result->fetch_assoc()) {
            $rows[] = $row;
        }
        return $rows;
    }

    public function insert($table, $data) {
        $keys = array();
        $values = array();
        foreach ($data as $key => $value) {
            $keys[] = $key;
            $values[] = "'" . $this->connection->real_escape_string($value) . "'";
        }
        $sql = "INSERT INTO " . $table . " (" . implode(", ", $keys) . ") VALUES (" . implode(", ", $values) . ")";
        return $this->query($sql);
    }

    public function update($table, $data, $conditions = "") {
        $set = array();
        foreach ($data as $key => $value) {
            $set[] = $key . "='" . $this->connection->real_escape_string($value) . "'";
        }
        $sql = "UPDATE " . $table . " SET " . implode(", ", $set);
        if (!empty($conditions)) {
            $sql .= " WHERE " . $conditions;
        }
        return $this->query($sql);
    }

    public function delete($table, $conditions = "") {
        $sql = "DELETE FROM " . $table;
        if (!empty($conditions)) {
            $sql .= " WHERE " . $conditions;
        }
        return $this->query($sql);
    }

    public function __destruct() {
        $this->connection->close();
    }
}

?>

Db.php

<?php

// MySQli数据库操作类
include 'Database.php';

// 数据库配置
$DbConfig = [
    'host' => 'xxx',
    'user' => 'xxx',
    'password' => 'xxx',
    'database' => 'xxx'
];

?>

使用
  1. 创建Database.php文件并拷贝以上代码;

  1. 创建Db.php文件并拷贝以上代码;修改配置信息,分别为数据库地址、数据库账号、密码、数据库名称;

  1. 创建index.php文件;

  1. 以上三个文件均在同一目录。

插入数据
<?php

// 引入配置
include './Db.php';

// 实例化
$db = new Database($DbConfig['host'], $DbConfig['user'], $DbConfig['password'], $DbConfig['database']);

$results = $db->insert('表名', array('字段名'=>'数据'));
// 例如:$results = $db->insert('users', array('username'=>'tanking','password'=>'123456'));

?>
删除数据
$results = $db->delete('test', 'id=1');
// 有两个参数,test是表名,id=1是条件
更新数据
$results = $db->update('test', array('user'=>'zhangsan','password'=>'888888'), 'id=1');
// 有三个参数,test是表名,array是修改的字段数据,id=1是条件
查询数据
$results = $db->select('test','user', 'id=1'); // 根据条件查询
// 有三个参数,test是表名,user是指定查询的字段,id=1是条件
// ---
// $results = $db->select('test','*','','id desc'); // desc排序
// 有四个参数,test是表名,*是查询所有字段,第三个参数为空就是不设置查询条件,id desc是排序
print_r($results);
执行原生语句
// 执行原生语句
$results = $db->query('SELECT * FROM test');
作者

TANKING

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TANKING-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值