一帖讓PHP小白徹底瞭解PDO運算元據庫的方法

weixin_33890499發表於2017-05-27

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

相關文章