PHP内置MySQL驱动(mysqlnd)和SQLite引擎,CRUD非常简单:
// $db = new PDO('sqlite:/path/to/data.db3'); // 可以这样打开SQLite数据库
$db = new PDO('mysql:host=127.0.0.1;dbname=wordpress;charset=utf8', 'root', 'xxx');
$sql = "SELECT * FROM `wp_options` LIMIT 2"; // 读2行
$rows = $db->query($sql)->fetchAll();
foreach ($rows as $row) {
echo "{$row['option_name']} => {$row['option_value']}\n";
}
其中 fetchAll() 用于获取SELECT等读操作的结果集.
rowCount() 则用于获取INSERT/UPDATE/DELETE写操作影响的行数.
lastInsertId() 则是用于获取INSERT插入的行的自增编号.
另外,PostgreSQL,Oracle,MSSQL等也都支持使用PDO这一套统一的编程接口进行操作.
如果要进行预处理参数化查询,那就把query换成prepare+execute,很简单.
$stmt = $db->prepare($sql);
$stmt->execute(array()); // 参数数组
$rows = $stmt->fetchAll(); // 读操作结果集
$rowCount = $stmt->rowCount(); // 写操作影响的行
$lastInsertId = $db->lastInsertId(); // INSERT插入的行的自增ID