jmajors / jaysqlwrap
SQL语句的基本PHP包装器
0.0.3
2016-04-26 02:18 UTC
Requires
- php: >=5.3.0
- vlucas/phpdotenv: *
This package is not auto-updated.
Last update: 2024-09-14 18:42:17 UTC
README
一个简单的PHP类,用于创建和执行基本的SQL预处理语句作为对象方法。这提供了一种与数据库交互的同时防止SQL注入的简单方法。
使用Composer安装
composer require jmajors/jaysqlwrap
有关如何设置Composer的详细信息,请参阅https://getcomposer.org.cn/download/。
使用方法
将composer的自动加载器添加到您的项目中
require __DIR__ . '/vendor/autoload.php';
包装器在实例化时会使用应用程序的.env文件中的数据库信息建立数据库连接。如果您没有.env文件,您需要创建一个。请参阅https://github.com/vlucas/phpdotenv。请注意,此功能已包含在包装器中,您只需创建.env文件并在应用程序中加载它即可
$dotenv = new Dotenv\Dotenv(__DIR__); $dotenv->load();
创建Jaywrap实例
$db = new Jaywrap\Jaywrap();
INSERT(插入)
插入方法有两个参数:作为字符串的表名,以及要插入的数据数组。数据数组的键需要与表的列名匹配。例如
$data = array('username' => 'jasonmajors', 'password' => 'somehashedpassword', 'age' => 28, 'language' => 'php'); $success = $db->insert('users', $data);
SELECT(选择)
选择方法有两个参数:作为字符串的表名,以及可选的WHERE条件数组。
选择表中的所有项目
$results = $db->select('sometable');
结果将作为数组返回。
print_r($results); /* * Array ( * [0] => Array ( * [columnX] => someValue * [0] => someValue * [columnY] => someOtherValue * [1] => someOtherValue * ) * [1] => Array ( * [columnX] => someOtherValueTwo * [0] => someOtherValueTwo * [columnY] => someOtherValueThree * [1] => someOtherValueThree * ) * ) */
带有条件的SELECT
$conditions = array('username' => 'jasonmajors', 'language' => 'php'); $results = $db->select('users', $conditions);
上述操作将执行以下预处理语句
SELECT * FROM table WHERE username = 'jasonmajors' AND language = 'php';
您还可以在条件数组中传递数组作为值
$conditions = array('username' => array('jasonmajors', 'johndoe', 'janedoe')); $results = $db->select('table', $conditions);
上述操作将执行
SELECT * FROM table WHERE username IN ('jasonmajors', 'johndoe', 'janedoe');
UPDATE(更新)
更新方法有三个参数:作为字符串的表名,更新数据数组,以及WHERE条件数组。
$updates = array('language' => 'Python'); $conditions = array('username' => 'jasonmajors'); $success = $db->update('users', $updates, $conditions);
DELETE(删除)
删除方法有两个参数:作为字符串的表名,以及WHERE条件数组。
$delete = array('username' => 'jasonmajors'); $success = $db->delete('users', $updates, $conditions);