PHP Data Objects(PDO)是随着PHP5.1发布开始附带的,所以不用担心你的PHP环境上是否支持PDO扩展。

该扩展默认是开启的,如果你的代码跑不起来,应该去phpinfo看看是否已经开启PDO扩展。

ThinkPHP从3.2.3版本开始,数据库类和驱动采用PDO重写了。但我在学TP之前还不知道PDO,还在用那个要被淘汰的mysql扩展。

下面是PDO常用的方法

PDO::query()                                         一般用于SELECT操作

PDO::exec()                                           一般用于INSERT、UPDATE等不需要返回记录集的操作

PDO::prepare()                                     预处理操作,需要通过创建的statement->execute()来执行经过预处理的SQL语句

PDO::lastInsertId()                                返回上次插入的自增ID

PDOStatement::execute()                     执行通过PDO::prepare()预处理过的SQL语句

PDOStatement::fetch()                         返回一条记录

PDOStatement::fetchAll()                     返回一个包含结果集中所有行的数组

PDOStatement::fetchColumn()            返回记录集中第一行的第一个字段

PDOStatement::rowCount()                 返回受 DELETE、INSERT、 或 UPDATE 语句影响的行数。对PDO::exec()方法和SELECT操作无效。

操作MySql的实例

<?php
$pdo = new PDO("mysql:host=localhost;dbname=数据库名","账号","密码");
$rs = $pdo->query("SELECT * FROM table");
foreach($rs as $row)
{
    $users[] = $row;
}
 
$stmt = $pdo->prepare("INSERT INTO table VALUES(:name,:sex,:age)"); 
$stmt->bindParam(":name",$name); 
$stmt->bindParam(":sex",$sex);
$stmt->bindParam(":age",$age); 
$stmt->execute();
 
?>