本文實例講述了php使用pdo連接並查詢sql數據庫的方法。分享給大家供大家參考。
具體實現代碼如下:
復制代碼 代碼如下:$login = "root";
$passwd = "mysql";
try{
$db=new pdo('mysql:host=localhost;dbname=mysql',$login,$passwd);
foreach($db->query('select * from test') as $row){
print_r($row);
}
$db=null;
}catch(pdoexception $e){
echo $e->getmessage();
}
再來看一個高級一點的:
復制代碼 代碼如下:$dbms='mysql'; //數據庫類型 oracle 用odi,對於開發者來說,使用不同的數據庫,只要改這個,不用記住那麼多的函數了
$host='localhost'; //數據庫主機名
$dbname='test'; //使用的數據庫
$user='root'; //數據庫連接用戶名
$pass=''; //對應的密碼
$dsn="$dbms:host=$host;dbname=$dbname";
class db extends pdo {
public function __construct(){
try {
parent::__construct("$globals[dsn]", $globals['user'], $globals['pass']);
} catch (pdoexception $e) {
die("error: " . $e->__tostring() . "<br/>");
}
}
public final function query($sql){
try {
return parent::query($this->setstring($sql));
}catch (pdoexception $e){
die("error: " . $e->__tostring() . "<br/>");
}
}
private final function setstring($sql){
echo "我要處理一下$sql";
return $sql; }}
$db=new db();
$db->setattribute(pdo::attr_case, pdo::case_upper);
foreach ($db->query('select * from xxxx_menu') as $row) {
print_r($row);
}
$db->exec('delete from `xxxx_menu` where mid=43');
關於pdo說明
pod(php data object)擴展在php5中加入,php6中將默認識用pdo連接數據庫,所有非pdo擴展將會在php6被從擴展中移除。該擴展提供php內置類 pdo來對數據庫進行訪問,不同數據庫使用相同的方法名,解決數據庫連接不統一的問題。
我是配置在windows下做開發用的。
pdo的目標:
提供一種輕型、清晰、方便的 api,統一各種不同 rdbms 庫的共有特性,但不排除更高級的特性,通過 php 腳本提供可選的較大程度的抽象/兼容性.
pdo的特點:
性能,pdo 從一開始就吸取了現有數據庫擴展成功和失敗的經驗教訓,因為 pdo 的代碼是全新的,所以我們有機會重新開始設計性能,以利用 php 5 的最新特性.
能力
pdo 旨在將常見的數據庫功能作為基礎提供,同時提供對於 rdbms 獨特功能的方便訪問.
簡單
pdo 旨在使您能夠輕松使用數據庫,api 不會強行介入您的代碼,同時會清楚地表明每個函數調用的過程.
運行時可擴展
pdo 擴展是模塊化的,使您能夠在運行時為您的數據庫後端加載驅動程序,而不必重新編譯或重新安裝整個 php 程序,例如,pdo_oci 擴展會替代 pdo 擴展實現 oracle 數據庫 api,還有一些用於 mysql、postgresql、odbc 和 firebird 的驅動程序,更多的驅動程序尚在開發.
希望本文所述對大家的php數據庫程序設計有所幫助。