一帖讓PHP小白徹底了解PDO操作數據庫的方法

php與mysql的連接有三種API接口,分別是:PHP的MySQL擴展 、PHP的mysqli擴展 、PHP數據對象(PDO) 。在這三種方法中,“民間”很多是傾向于使用PDO,因為其不擔有跨庫(可以和各個數據庫連接和處理)的優點,更有讀寫速度快的特點。 PDO不僅能防止了sql注入問題,同時是面向對象的,所以不管操作還是使用都是挺方便的!今天分享下PHP5中使用PDO操作數據庫的方法!

1.PDO簡介

PDO(PHP Data Object) 是PHP 5 中加入的東西,是PHP 5新加入的一個重大功能,因為在PHP 5以前的php4/php3都是一堆的數據庫擴展來跟各個數據庫的連接和處理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等。 PHP6中也將默認使用PDO的方式連接。

2.PDO配置

PHP.ini中,去掉"extension=php_pdo.dll"前面的";"號,若要連接數據庫,還需要去掉與PDO相關的數據庫擴展前面的";"號,然后重啟Apache服務器即可。

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
......

3.PDO連接mysql數據庫

new PDO("mysql:host=localhost;dbname=db_demo","root",""); 默認不是長連接,若要使用數據庫長連接,需要在最后加如下參數:
new PDO("mysql:host=localhost;dbname=db_demo","root","","array(PDO::ATTR_PERSISTENT => true) ");

4.PDO常用方法及其應用

PDO::query() 主要是用于有記錄結果返回的操作,特別是SELECT操作
PDO::exec() 主要是針對沒有結果集合返回的操作,如INSERT、UPDATE等操作
PDO::lastInsertId() 返回上次插入操作,主鍵列類型是自增的最后的自增ID
PDOStatement::fetch() 是用來獲取一條記錄
PDOStatement::fetchAll() 是獲取所有記錄集到一個中

5.PDO操作MYSQL數據庫實例

<?php 
$pdo = new PDO("mysql:host=localhost;dbname=db_demo","root",""); 
if($pdo -> exec("insert into db_demo(name,content)           values('title','content')")){ 
    echo "插入成功!"; 
    echo $pdo -> lastinsertid(); 
} 
?>

~

<?php 
$pdo = new PDO("mysql:host=localhost;dbname=db_demo","root",""); 
$rs = $pdo -> query("select * from test"); 
while($row = $rs -> fetch()){ 
    print_r($row); 
} 
?>

轉自:http://bbs.itheima.com/forum.php?mod=viewthread&tid=329982&extra=page%3D2

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容