jonathanbak / mysqlilib
简单的MySQLi库
v1.3.6
2023-10-20 02:02 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- phpunit/phpunit: ~4.0
README
这是一个轻量级、简单的MySQL库,可以轻松应用于实际工作中。
试用后如有问题,请发邮件。随时欢迎提问。
支持php5.6 ~ php8.2。
安装
$ composer require jonathanbak/mysqlilib $ composer install
测试
请将以下内容中的MySQL服务器信息替换为您的MySQL服务器信息,并存入到phpunit.xml.dist中
<php> <var name="DB_HOST" value="localhost" /> <var name="DB_USER" value="test" /> <var name="DB_PASSWD" value="test1234" /> <var name="DB_NAME" value="db_test" /> <var name="DB_PORT" value="3306" /> </php>
运行phpunit进行测试。
$ vendor/bin/phpunit
用法
简单的数据库连接及SELECT查询
$DB = new MySQLiLib($host, $user, $password, $dbName); $query = "SELECT * FROM test"; $row = $DB->fetch($query); var_dump($row);
SELECT
从test表中选择id = 222的单一数据行
$query = "SELECT * FROM test WHERE id = ?"; $row = $DB->fetch($query, array(222)); var_dump($row);
从test表中选择id = 11的多条数据行
$query = "SELECT * FROM test WHERE id = ?"; $rows = array(); while($row = $DB->fetch($query, array(11))){ $rows[] = $row; } var_dump($rows);
从test表中选择name LIKE '테스트%'的多条数据行
$query = "SELECT * FROM test WHERE name LIKE '??%'"; $rows = array(); while($row = $DB->fetch($query, array('테스트'))){ $rows[] = $row; } var_dump($rows);
INSERT, UPDATE, DELETE
$query = "INSERT INTO test SET id = ?, reg_date = ?"; $result = $DB->query($query, array(33, date("Y-m-d H:i:s"))); var_dump($result); $query = "DELETE FROM test SET id = ?"; $result = $DB->query($query, array(33)); var_dump($result);
异常
当test表中的id = 33的数据已经存在时,将发生Duplicate entry '33' for key 'PRIMARY'错误
try{ $query = "INSERT INTO test SET id = ?, reg_date = ?"; $result = $DB->query($query, array(33, date("Y-m-d H:i:s"))); }catch(\MySQLiLib\Exception $e){ //print error message "Duplicate entry '33' for key 'PRIMARY'" var_dump($e->getMessage()); }
预处理语句查询
$query = "INSERT INTO test SET id = ?, reg_date = ?"; $DB->bind_param('i'); $result = $DB->query($query, array(33, date("Y-m-d H:i:s"))); var_dump($result); $query = "DELETE FROM test SET id = ?"; $DB->bind_param('i'); $result = $DB->query($query, array(33)); var_dump($result);