PDO的結果集物件方法 預處理語句 資料庫連線屬性

2021-09-05 08:57:38 字數 2568 閱讀 5363

方法名

注釋execute()

執行一條預處理語句

rowcount()

返回上乙個sql語句影響的行數

fetch()

從結果集中獲取一行

fetchall()

返回乙個包含結果集中所有行的陣列

setfetchmode()

為語句設定預設的獲取模式

fetchcolumn()

從結果集中的下一行返回單獨的一列

fetchobject()

獲取下一行並作為乙個物件返回

bindparam()

繫結乙個引數到指定的變數名

bindvalue()

把乙個值繫結到乙個引數

這個跟mysqli中的mysqli_fetch_array()這些方法基本都是相同的功能,只是在不同形式下的不同實現和不同方式的呼叫而已,返回的資料結果都是一樣的

$sql = "select * from users where name = '小明';";
準備乙個預處理語句,方法執行完畢後返回的是乙個pdo的stmt物件(pdostatement 物件)

prepare方法是用來準備一條預處理語句的方法

$stmt = $pdo->prepare($sql);
execute方法是用來執行預處理語句的,執行成功返回bool的true

$res = $stmt->execute();
拿資料是通過pdostatement物件中對的一些方法去獲取資料

示例:

if ($res)

}else

取出的資料格式,例如返回的是索引陣列還是關聯陣列,可以通過pdostatement中的setfetchmode()方法來進行設定

$stmt->setfetchmode(pdo::fetch_both);這裡設定預設索引和關聯一起返回

**示例:

在例項化pdo類的時候,可以通過第四個引數直接設定資料庫連線屬性

$options = array(

pdo::attr_autocommit=>0,

pdo::attr_errmode=>0

);$pdo = new pdo('mysql:host=localhost;dbname=pdotest;','root','',$options);

$pdo->query('set names utf8;');

獲取獲取資料庫連線屬性:

echo '自動提交功能狀態:' . $pdo->getattribute(pdo::attr_autocommit);

echo '

'; echo 'pdo的錯誤處理模式:' . $pdo->getattribute(pdo::attr_errmode);

echo '

';

設定資料庫連線屬性:

$pdo->setattribute(pdo::attr_autocommit,0);

echo '關閉自動提交';

echo '

'; echo '自動提交功能狀態:' . $pdo->getattribute(pdo::attr_autocommit);

echo '

'; $pdo->setattribute(pdo::attr_autocommit,1);

echo '開啟自動提交';

echo '

'; echo '自動提交功能狀態:' . $pdo->getattribute(pdo::attr_autocommit);

echo '';

如何配置常用的資料庫連線屬性,示例:

$attrarr = array(

'autocommit','errmode','case','persistent','timeout','oracle_nulls',

'server_info','server_version','client_version','connection_status'

);foreach ($attrarr as $attr):";

//constant()函式是返回乙個常量的值

echo @$pdo->getattribute(constant("pdo::attr_"));

echo '

'; }

資料庫連線屬性其實沒多少東西,主要就是在初始化專案的時候,對資料庫的一些連線的屬性進行一些專案化的設定,具體的看專案需求進行設定

php中 pdo的預處理

以下是一些pdo預處理 的一些小知識 兩種佔位符號 關聯陣列,按名稱使用,和順序無關,以冒號開頭,自己定義 引數 索引陣列,按索引順序使用 stmt pdo prepare sql sql可是是任意sql語句,這與mysqli不同 如 trycatch pdoexception e stmt pdo...

pdo中的預處理語法

什麼叫預處理語法 就是,為了 重複執行 多條結構類似的sql語句,而將該sql語句的形式 進行預先處理 編譯 該sql語句的 形式 中,含有 未給定的資料項 然後,到正式執行的時候,只要給定相應的形式上的 資料項 就可以更快速方便執行。比如 有兩種預定義語法 語法1 sql select from ...

PDO使用返回結果集的方法輸出資料庫裡面的單個值

1 2header content type text html charset utf 8 3 通過呼叫驅動程式建立乙個pdo例項 4 dsn mysql dbname lyh yry bbs host 127.0.0.1 5 user root 6 password 78 try catch p...