kovsky0 / pdo-wrapper
简单的PDO包装器 - 一组用于数据库操作的crud方法,包括选择、插入、更新和删除记录。
Requires
- php: >=5.2.4
This package is not auto-updated.
Last update: 2024-09-29 03:10:21 UTC
README
此PDO包装器是一组用于数据库操作的crud方法,包括选择、插入、更新和删除记录。
安装
要安装,请将此类放入项目文件夹中,并包含该类,然后设置数据库凭据。最后,通过调用其get方法创建类的实例。
此包装器使用单个数据库连接,进一步连接尝试将重用已打开的连接(如果尚未连接)。
include('database.php'); //db properties define('DB_TYPE','mysql'); define('DB_HOST','localhost'); define('DB_USER','username'); define('DB_PASS','password'); define('DB_NAME','database name'); // make a connection to mysql here $db = Database::get();
要连接到另一个数据库,请传递包含以下内容的数组
$db = Database::get(array(
'type' => 'mysql',
'host' => 'localhost',
'name' => 'dbname',
'user' => 'dbusername'
'pass' => 'password'
));
使用示例
选择
$db->select("column FROM table");
要基于用户数据而不是直接传递数据到查询中选择数据,请使用预处理语句,这更安全,并阻止任何SQL注入尝试。
$db->select("username FROM members WHERE memberID = :id and email = :email", array(':id' => 1, ':email' => 'someone@domain.com'));
上述查询将返回成员表中memberID和email匹配的用户名。memberID和email单独在数组中传递。
而不是直接传递id和email到查询中,使用占位符:id和:email,然后传递一个数组,数组的键与占位符匹配并绑定,因此数据库将同时获取查询和绑定数据。
查询返回的数据将作为对象返回,可以通过传递包含PDO::FETCH_ASSOC的第三个参数来更改。
要使用对象,请遍历它,一个典型的示例
$rows = $db->select("firstName, lastName FROM members ORDER BY firstName, lastName"); foreach ($rows as $row) { echo "<p>$row->firstName $row->lastName</p>"; }
原始查询
原始查询是未经预处理语句运行的查询,将直接执行传入的查询。当创建表时很有用。
$db->raw("CREATE TABLE IF NOT EXISTS members ( memberID INT(11) NOT NULL AUTO_INCREMENT, firstName VARCHAR(255) NOT NULL, lastnName VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, PRIMARY KEY (memberID))" );
插入
通过调用insert方法插入数据,它期望表名后跟一个包含要插入到数据库中的键值对的数组。
$data = array( 'firstName' => 'Joe', 'lastnName' => 'Smith', 'email' => 'someone@domain.com' ); $db->insert('members', $data);
插入自动返回最后插入的ID,通过返回'lastInsertId'来收集ID
$id = $db->insert('members', $data);
更新
要更新现有记录,请调用update方法。此方法期望表、要更新的数据数组以及包含where条件的第二个数组。
$data = array( 'firstName' => 'Joe', 'lastnName' => 'Smith', 'email' => 'someone@domain.com' ); $where = array('memberID' => 2); $db->update('members', $data, $where);
删除
要删除记录,请调用delete方法。此方法期望表名和包含where条件的数组。
$where = array('memberID' => 2); $db->delect('members', $where);
这将删除单个记录,要设置限制,请传递一个包含要限制的数字的第三个参数,或要移除限制,请传递null作为第三个参数。
$db->delete('members', $where, 10); //delete 10 records matcing the where $db->delete('members', $where, null); //delete all records matching the where ## Truncate To empty a table of all contents call the truncate method. Passing only the table name. ````php $db->truncate('members');