onanying / mysqli-driver-php

简易好用的mysqli驱动器与结果集,带自动事务,参数转义

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

项目介绍

简易好用的mysqli驱动器与结果集,带自动事务,参数转义

说明文档

example.php 里有范例代码

1. 连接数据库

方法1:使用构造方法连接
$mysqli = new MysqliDriver(['username' => 'root', 'password' => '123456', 'database' => 'test']);
方法2:使用connect连接
$mysqli = new MysqliDriver();
$conf = ['username' => 'root', 'password' => '123456', 'database' => 'test'];
$mysqli->connect($conf);
方法3: 使用类文件里的默认值连接
$mysqli = new MysqliDriver();
$mysqli->connect();

2. 执行查询

select

$query = $mysqli->query('select * from `money`');
print_r($query->result());

update insert delete

$status = $mysqli->query('update `money` set number = number - ? where uid = ?', 10, 100);
if($status){
    echo $mysqli->affectedRows;
}

3. 结果集

返回全部记录,对象

$query = $mysqli->query('select * from `money`');
print_r($query->result());

返回全部记录,数组

$query = $mysqli->query('select * from `money`');
print_r($query->result(Library\MysqliResult::MYSQLI_ARRAY));

返回单独一行结果。如果你的查询不止一行结果,它只返回第一行

$query = $mysqli->query('select * from `money`');
print_r($query->row());

4. 事务

事物中的sql执行失败,会自动回滚

注意: 默认update/insert/delete的affected_rows为0时事物也会自动回滚,如果你不想这样,请配置MysqliDriver::backZeroAffect = false;
$mysqli->transStart();
$mysqli->query('update `money` set number = number - ? where uid = ?', 10, 100);
$mysqli->query('insert `history`(uid, number) values(?, ?)', 100, -10);
$mysqli->transComplete();
echo 'Transaction execution status: ' . ($mysqli->transStatus() ? 'true' : 'false');

About

简易好用的mysqli驱动器与结果集,带自动事务,参数转义


Languages

Language:PHP 100.0%