PHP開發 PDO應用

2021-06-29 15:17:01 字數 4053 閱讀 8306

1、pdo的介紹

pdo(php資料物件) 是乙個輕量級的、具有相容介面的php資料連線拓展,是乙個php官方的pecl庫,隨php 5.1發布,需要php 5的物件導向支援,因而在更早的版本上無法使用。它所提供的資料接入抽象層,具有與具體資料庫型別無關的優勢,為它所支援的資料庫提供統一的操作介面。由於pdo是在底層實現的統一的資料庫操作介面,因而利用它能夠實現更高階的資料庫操作,比如儲存過程的排程等。要使用pdo運算元據庫,必須要有相應的dll檔案。

2、建立pdo的例項

// 第一種方式,通過**來配置

<?php

trycatch(pdoexception $e)

print_r($pdo);

?>

// 第二種方式,通過自定義檔案配置

<?php

trycatch(pdoexception $e)

print_r($pdo);

?>

// 第三種方式,通過php.ini檔案配置

// 在php.ini檔案中:[pdo]pdo.dsn.mysqlpdo = "mysql:host=localhost;dbname=test";

<?php

trycatch(pdoexception $e)

print_r($pdo);

?>

3、pdo運算元據庫

<?php

//1.連線資料庫

trycatch(pdoexception $e)

//2.執行query(查詢)返回的是乙個預處理物件

$sql = "select * from stu";

$stmt = $pdo->query($sql);// 記性查詢語句

$list = $stmt->fetchall(pdo::fetch_assoc);// 介紹資料記錄的方式

//3.解析資料(一次把所有的資料解析完)

foreach($list as $val)

//$sql = "insert into stu values(null,'oracle','w',44)";

//$sql = "delete from stu where id=11";

$sql = "update stu set name='js' where id=3";

$res = $pdo->exec($sql);// 直接執行sql語句

if($res)

//4.釋放資源

$stmt = null;

$pdo = null;

?>

4、錯誤資訊的處理

<?php

//預設是不提示的 需要用 errorcode() errorinfo()方法來獲取

trycatch(pdoexception $e)

$sql = "insert into stuu values(null,'jike','w',55)";

// 設定了異常模式才能捕獲異常

trycatch(pdoexception $e)

/* if($res)else */

?>

5、預處理

1)?號式的預處理句,一共有3種方式

<?php

//1.連線資料庫

trycatch(pdoexception $e)

//2.預處理的sql語句

$sql = "insert into stu(id,name,***,age) values(?,?,?,?)";

$stmt = $pdo->prepare($sql);

//3.對?號的引數繫結

//(第一種繫結方式)

$stmt->bindvalue(1,null);

$stmt->bindvalue(2,'test55');

$stmt->bindvalue(3,'w');

$stmt->bindvalue(4,22);

//第二種繫結方式

$stmt->bindparam(1,$id);

$stmt->bindparam(2,$name);

$stmt->bindparam(3,$***);

$stmt->bindparam(4,$age);

$id=null;

$name="test66";

$***="m";

$age=33;

//第三種繫結方式

$stmt->execute(array(null,'test77','22',55));

//4.執行

$stmt->execute($stmt

);echo $stmt->rowcount();

2)別名式的預處理句,一共有3種方式

<?php

//1.連線資料庫

trycatch(pdoexception $e)

//2.預處理的sql語句

$sql = "insert into stu(id,name,***,age) values(:id,:name,:***,:age)";

$stmt = $pdo->prepare($sql);

//3.對?號的引數繫結

//(第一種繫結方式)

$stmt->bindvalue("id",null);

$stmt->bindvalue("name",'ceshi1');

$stmt->bindvalue("***",'w');

$stmt->bindvalue("age",22);

//第二種繫結方式

$stmt->bindparam("id",$id);

$stmt->bindparam("name",$name);

$stmt->bindparam("***",$***);

$stmt->bindparam("age",$age);

$id=null;

$name="ceshi2";

$***="m";

$age=33;

//第三種繫結方式

$stmt->execute(array("id"=>null,"name"=>"ceshi3","***"=>"w","age"=>66));$stmt->execute($stmt

);

echo $stmt->rowcount();

採用預處理sql執行查詢,並採用繫結結果方式輸出

<?php

//1.連線資料庫

trycatch(pdoexception $e)

//2.預處理的sql語句

$sql = "select id,name,***,age from stu";

$stmt = $pdo->prepare($sql);

//3.執行

$stmt->execute();

$stmt->bindcolumn(1,$id);

$stmt->bindcolumn(2,$name);

$stmt->bindcolumn("***",$***);

$stmt->bindcolumn("age",$age);

// 採用與處理方式遍歷資料

while($row=$stmt->fetch(pdo::fetch_column)):::";}

// 普通方式遍歷資料

foreach($stmt as $row)

6、事務的處理

<?php

//採用預處理+事務處理執行sql操作

//1.連線資料庫

trycatch(pdoexception $e)

//2.執行資料操作

trycatch(pdoexception $e)

PDO綜合例項應用

dsn mysql host localhost dbname guestbook db new pdo dsn,root 123 連線資料庫 db query set names utf 8 affected db exec update lyb set content 用pdo修改記錄 wher...

PHP開啟PDO擴充套件

php pdo擴充套件 pdopdo是php資料物件 php object 的縮寫,pdo是乙個第三方類,預設以整合到php中,使用pdo可以輕鬆對接各種不同型別的資料庫,且操作方式和方法呼叫都基本一樣.pdo作用是統一各種資料庫的訪問介面.開啟pdo擴充套件 開啟mysql擴充套件為例 在php....

php開啟pdo擴充套件

在windows環境下php 5.1以上版本中,pdo和主要資料庫的驅動同php一起作為擴充套件發布,要啟用它們只需要簡單地編輯php.ini檔案.開啟php.ini配置檔案,找到extension php pdo.dll 配置php配置檔案,開啟相應擴充套件 和 extension php pdo...