PDO是什么
PDO(PHP Data Objects)拓展是一个轻量级、而且统一的接口,用来在PHP中访问数据库。
PDO提供了一个数据访问抽象层,这意味着,不管你使用的是什么数据库,你都可以使用相同的函数去执行查询并获取数据。
PDO不提供数据库抽象,无法消除不同数据库之间的语法差异,如果你想要做到做到这一点,你必须使用另外的抽象层去实现。
PDO连接MySQL数据库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| const DB_HOST = 'mysqldb';
const DB_NAME = 'default';
const DB_USER = 'root';
const DB_PASSWORD = 'devstack';
private $pdo = null;
$conStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME); try { $this -> pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD); } catch (PDOException $e) { echo $e -> getMessage(); }
|
使用pdo连接对象执行插入、更新或者删除
1 2 3 4 5 6 7 8 9 10 11
| $sql = "insert into tasks (subject, start_date, end_date, description) values ('%s', '%s', '%s', '%s');"; $insertStatement = "";
for ($i = 0; $i < 10; $i++) { $insertStatement .= sprintf($sql, "睡觉", date("Y-m-d H:i:s"), date("Y-m-d H:i:s"), "测试"); }
$this -> pdo -> exec($insertStatement);
|
使用pdo连接对象执行查询
1 2 3 4 5 6
| $sql = "select * from tasks"; foreach ($this -> pdo -> query($sql) as $row) { print $row['subject'] . "\t"; print $row['start_date'] . "\t"; print $row['end_date'] . "\n"; }
|
使用query方法可以执行查询操作。通过foreach
遍历查询结果。