PDO是什么
PDO(PHP Data Objects)拓展是一个轻量级、而且统一的接口,用来在PHP中访问数据库。
PDO提供了一个数据访问抽象层,这意味着,不管你使用的是什么数据库,你都可以使用相同的函数去执行查询并获取数据。
PDO不提供数据库抽象,无法消除不同数据库之间的语法差异,如果你想要做到做到这一点,你必须使用另外的抽象层去实现。
PDO连接MySQL数据库
| 12
 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连接对象执行插入、更新或者删除
| 12
 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连接对象执行查询
| 12
 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遍历查询结果。