資料庫PDO日記(一)

2021-06-21 20:03:24 字數 2399 閱讀 4851

[pdo]

pdo是php 5新加入的乙個重大功能,因為在php 5以前的php4/php3都是一堆的資料庫擴充套件來跟各個資料庫的連線和處理,什麼 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等擴充套件來連線mysql、postgresql、ms sql server、sqlite,同樣的,我們必須借助 adodb、pear::db、phplib::db之類的資料庫抽象類來幫助我們,無比煩瑣和低效,畢竟,php**的效率怎麼能夠我們直接用c/c++寫的擴充套件斜率高捏?所以嘛,pdo的出現是必然的,大家要平靜學習的心態去接受使用,也許你會發現能夠減少你不少功夫哦。

[安裝]

首先就是開啟你的php.ini 然後找到 dynamic extensions;  下面有一堆類似 ;extension=php_mbstring.dll 的東西,這裡就是php擴充套件載入的配置了,我們再最後面新增上我們pdo的擴充套件:

extension=php_pdo.dll

extension=php_pdo_mysql.dll

extension=php_pdo_pgsql.dll

extension=php_pdo_sqlite.dll

extension=php_pdo_mssql.dll

extension=php_pdo_odbc.dll

extension=php_pdo_firebird.dll

各種pdo的驅動,能給加上的全給加上,然後重啟apach。可以呼叫phpinfo();檢視pdo的一些資訊。

***************====》好了,現在我們來鏈結資料庫吧。

$dsn = "mysql:host=localhost;dbname=bbs";

就是構造我們的dsn(資料來源),看看裡面的資訊包括:資料庫型別是mysql,主機位址是localhost,資料庫名稱是bbs,就這麼幾個資訊。不同資料庫的資料來源構造方式是不一樣的。只要修改mysql 成你想用的其他資料庫就ok。

$db = new pdo($dsn, 'root', '');

初始化乙個pdo物件,建構函式的引數第乙個就是我們的資料來源,第二個是連線資料庫伺服器的使用者,第三個引數是密碼。

<?php 

header('content-type:text/html;charset=utf-8');

$dsn="mysql:host=localhost;dbname=bbs";

$db=new pdo($dsn,"root","");

$a="aaa";

$b="bbb";

$count=$db->exec("insert into t1(name,text) values($a,$b)");

echo $count;

$db=null;

?>

查詢操作主要是pdo::query()、pdo::exec()、pdo::prepare()。

pdo::query()主要是用於有記錄結果返回的操作,特別是select操作。

pdo::exec()主要是針對沒有結果集合返回的操作,比如insert、update、delete等操作,它返回的結果是當前操作影響的列數。

pdo::prepare()主要是預處理操作,需要通過$rs->execute()來執行預處理裡面的sql語句,這個方法可以繫結引數,功能比較強大,不是本文能夠簡單說明白的,大家可以參考手冊和其他文件。

*************************====

獲取結果集操作主要是:pdostatement::fetchcolumn()、pdostatement::fetch()、pdostatement::fetchall()。

pdostatement::fetchcolumn() 

是獲取結果指定第一條記錄的某個字段,預設是第乙個字段。

pdostatement::fetch()

是用來獲取一條記錄,pdostatement::fetchall()是獲取所有記錄集到乙個中,獲取結果可以通過

pdostatement::setfetchmode來設定需要結果集合的型別。

另外有兩個周邊的操作,乙個是pdo::lastinsertid()和pdostatement::rowcount()。

pdo::lastinsertid()是返回上次插入操作,主鍵列型別是自增的最後的自增id。

pdostatement::rowcount()主要是用於pdo::query()和pdo::prepare()進行delete、insert、update操作影響的結果集,對pdo::exec()方法和select操作無效。

***************=》ok,可以試著自己寫一些**玩玩。

資料庫PDO日記(一)

pdo pdo是php 5新加入的乙個重大功能,因為在php 5以前的php4 php3都是一堆的資料庫擴充套件來跟各個資料庫的連線和處理,什麼 php mysql.dll php pgsql.dll php mssql.dll php sqlite.dll等等擴充套件來連線mysql postgr...

資料庫PDO日記(二)

假設我們現在已經鏈結成功資料庫 db了。看下面的 db setattribute pdo attr case,pdo case upper 設定屬性 rs db query select fromt1 rs setfetchmode pdo fetch assoc 設定獲取結果集的返回值的型別 re...

PDO資料庫操作

注意 使用pdo需要配置php.ini檔案 例子 查詢資料 pdo連線資料庫 pdo new pdo mysql host localhost dbname chatroom root 執行sql語句 res pdo query select from chat user 處理結果集 data re...