PDO(PHP Data Objects)是一種在PHP裡連接資料庫的使用介面。PDO與mysqli曾經被建議用來取代原本PHP在用的mysql相關函數,基於資料庫使用的安全性,因為後者欠缺對於SQL資料隱碼的防護。
範例
以下是一個簡單的 PDO 更新交易資料庫的程式碼,其中採用了預處理的方式將執行語句與參數隔離:
pdo -> prepare($query);
$stmt -> bindParam(1, $id);
$stmt -> bindParam(2, $type);
$stmt -> bindParam(3, $payment_id);
$result = $stmt -> execute();
?>
PDO默认会把数据库中查询的数据全部缓存下来,这在查询的结果集特别大时会有各种问题,比如消耗太多服务器资源,或造成运行的脚本因内存超限而终止。
下面的代码使用PDO对象的setAttribute方法来禁用缓存。
setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); //禁用缓存
$stmt = $pdoConn->query($sql);
$i = -1;
while ($row = $stmt->fetch()) {
$i ++;
if ($i % 10000) { //每一万个数据采样显示一下
continue;
}
var_dump($i);
var_dump($row);
}
?>
資料庫支援
*firebird
*informix
*mysql
*mssql
*odbc
*pgsql
*sqlite
参考文献
外部連結
- [http://micmap.org/php-by-example/zh/function/pdo 测试PDO函数在线]
评论 (0)