PDO基本操作

2021-09-29 20:50:31 字數 2745 閱讀 9618

pdo是php資料物件(php data object)的縮寫。

pdo有非常多的操作卻是mysqli擴充套件庫所不具備的優勢:

pdo 支援12中資料驅動和引數繫結,而 mysqli 只支援 mysql。

pdo 支援更高階的db特性操作,如:儲存過程的排程等,mysql原生庫是不支援的。

pdo 是php官方的pecl庫,相容性穩定性必然要高於mysql extension,可以直接使用 pecl upgrade pdo 命令公升級。

pdo 預處理可以防止sql注入,確保資料庫更加安全。

pdo資料庫的連線

<

?php

$db =

['type'

=>

'mysql'

,'host'

=>

'demo.com'

,'dbname'

=>

'demo'

,'username'

=>

'root'

,'password'

=>

'root',]

;//$dsn = 'mysql:host=demo.com;dbname=demo';

$dsn =

":host=;dbname="

;trycatch (pdoexception $e)

新增
$sql =

'insert into `student` (`name`,`age`,`course`) values (?, ?, ?)'

;$stmt = $pdo->

prepare

($sql)

;$name =

'唐僧'

;$age =28;

$course =

'英語'

;$stmt->

bindparam(1

,$name)

;$stmt->

bindparam(2

,$age)

;$stmt->

bindparam(3

,$course)

;$result = $stmt->

execute()

;if($result)

else

$pdo = null;

更新
$sql =

'update `student` set `name` = ?, age= ?, course = ? where id = ?'

;$stmt = $pdo->

prepare

($sql)

;$name =

'觀音'

;$age =26;

$course =

'語文'

;$id =2;

$stmt->

bindparam(1

,$name)

;$stmt->

bindparam(2

,$age)

;$stmt->

bindparam(3

,$course)

;$stmt->

bindparam(4

,$id)

;$result = $stmt->

execute()

;if($result)

else

$pdo = null;

刪除

佔位符的另一種用法:id,繫結資料的時候使用bindparam('id', 引數變數)

$sql =

'delete from `student` where id = :id '

;$stmt = $pdo->

prepare

($sql)

;$id =2;

$stmt->

bindparam

('id'

,$id)

;$result = $stmt->

execute()

;if($result)

else

$pdo = null;

查詢

無條件查詢:使用 query() 執行 sql語句,返回pdostament物件,結果集不用解析,可以直接遍歷迴圈。

$sql =

'select * from `student`'

;$result = $pdo->

query

($sql);if

($result->

rowcount()

>0)

}else

$pdo = null;

有條件查詢:使用 execute() 執行 mysql語句
$sql =

'select * from `student2` where id = :id '

;$stmt = $pdo->

prepare

($sql)

;$id =10;

$stmt->

bindparam

('id'

,$id)

;$result = $stmt->

execute()

;if($result)

}else

$pdo = null;

the end !

PDO基本操作

今天了解到了一些新的內容 pdo通過學習了解到了幾點。pdo是一種運算元據庫的方式。應為現在本人用的是mysqli。之前使用mysqli的時候,針對的是mysql。所以在使用的時候也沒發現有任何問題,在了解過pdo之後發現mysqli還有很多侷限性。pdo可以適用於多種資料庫,有編碼統一性 物件導向...

PHP的PDO基本操作

php 5 及以上版本建議使用以下方式連線 mysql mysqli extension i 意為 improved pdo php data objects pdo 應用在 12 種不同資料庫中,mysqli 只針對 mysql 資料庫。二者都支援預處理語句,可防止sql注入。示例 servern...

PHP中PDO的基本操作二

在介紹完pdo的基本操作之後,我們利用封裝連線和讀寫操作,實現對資料庫的讀寫操作。下面是封裝方法 function.php pdo物件初始化 function init 設定字符集 res pdo exec set names utf8 echo res if res false 返回pdo物件 r...