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