php使用pdo連接并查詢(xún)sql數(shù)據(jù)庫(kù)的方法
本文實(shí)例講述了php使用pdo連接并查詢(xún)sql數(shù)據(jù)庫(kù)的方法。分享給大家供大家參考。
具體實(shí)現(xiàn)代碼如下:
$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();
}
再來(lái)看一個(gè)高級(jí)一點(diǎn)的:
$host='localhost'; //數(shù)據(jù)庫(kù)主機(jī)名
$dbname='test'; //使用的數(shù)據(jù)庫(kù)
$user='root'; //數(shù)據(jù)庫(kù)連接用戶(hù)名
$pass=''; //對(duì)應(yīng)的密碼
$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');
關(guān)于pdo說(shuō)明
pod(php data object)擴(kuò)展在php5中加入,php6中將默認(rèn)識(shí)用pdo連接數(shù)據(jù)庫(kù),所有非pdo擴(kuò)展將會(huì)在php6被從擴(kuò)展中移除。該擴(kuò)展提供php內(nèi)置類(lèi) pdo來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪(fǎng)問(wèn),不同數(shù)據(jù)庫(kù)使用相同的方法名,解決數(shù)據(jù)庫(kù)連接不統(tǒng)一的問(wèn)題。
我是配置在windows下做開(kāi)發(fā)用的。
pdo的目標(biāo):
提供一種輕型、清晰、方便的 api,統(tǒng)一各種不同 rdbms 庫(kù)的共有特性,但不排除更高級(jí)的特性,通過(guò) php 腳本提供可選的較大程度的抽象/兼容性.
pdo的特點(diǎn):
性能,pdo 從一開(kāi)始就吸取了現(xiàn)有數(shù)據(jù)庫(kù)擴(kuò)展成功和失敗的經(jīng)驗(yàn)教訓(xùn),因?yàn)?pdo 的代碼是全新的,所以我們有機(jī)會(huì)重新開(kāi)始設(shè)計(jì)性能,以利用 php 5 的最新特性.
能力
pdo 旨在將常見(jiàn)的數(shù)據(jù)庫(kù)功能作為基礎(chǔ)提供,同時(shí)提供對(duì)于 rdbms 獨(dú)特功能的方便訪(fǎng)問(wèn).
簡(jiǎn)單
pdo 旨在使您能夠輕松使用數(shù)據(jù)庫(kù),api 不會(huì)強(qiáng)行介入您的代碼,同時(shí)會(huì)清楚地表明每個(gè)函數(shù)調(diào)用的過(guò)程.
運(yùn)行時(shí)可擴(kuò)展
pdo 擴(kuò)展是模塊化的,使您能夠在運(yùn)行時(shí)為您的數(shù)據(jù)庫(kù)后端加載驅(qū)動(dòng)程序,而不必重新編譯或重新安裝整個(gè) php 程序,例如,pdo_oci 擴(kuò)展會(huì)替代 pdo 擴(kuò)展實(shí)現(xiàn) oracle 數(shù)據(jù)庫(kù) api,還有一些用于 mysql、postgresql、odbc 和 firebird 的驅(qū)動(dòng)程序,更多的驅(qū)動(dòng)程序尚在開(kāi)發(fā).
希望本文所述對(duì)大家的php數(shù)據(jù)庫(kù)程序設(shè)計(jì)有所幫助。
- PHP5中使用PDO連接數(shù)據(jù)庫(kù)的方法
- PHP中PDO連接數(shù)據(jù)庫(kù)中各種DNS設(shè)置方法小結(jié)
- ThinkPHP框架基于PDO方式連接數(shù)據(jù)庫(kù)操作示例
- PHP使用PDO連接ACCESS數(shù)據(jù)庫(kù)
- PHP實(shí)現(xiàn)基于PDO擴(kuò)展連接PostgreSQL對(duì)象關(guān)系數(shù)據(jù)庫(kù)示例
- PHP使用pdo連接access數(shù)據(jù)庫(kù)并循環(huán)顯示數(shù)據(jù)操作示例
- PHP實(shí)現(xiàn)PDO的mysql數(shù)據(jù)庫(kù)操作類(lèi)
- php使用PDO操作MySQL數(shù)據(jù)庫(kù)實(shí)例
- PHP封裝的數(shù)據(jù)庫(kù)模型Model類(lèi)完整示例【基于PDO】
- PHP實(shí)現(xiàn)的pdo連接數(shù)據(jù)庫(kù)并插入數(shù)據(jù)功能簡(jiǎn)單示例
相關(guān)文章
PHP實(shí)現(xiàn)登錄的Cookie存儲(chǔ)方案詳解
這篇文章主要介紹了PHP實(shí)現(xiàn)登錄的Cookie存儲(chǔ)方案詳解的相關(guān)資料,需要的朋友可以參考下2023-02-02PHP中include/require/include_once/require_once使用心得
include() 、require()語(yǔ)句包含并運(yùn)行指定文件。這兩結(jié)構(gòu)在包含文件上完全一樣,唯一的區(qū)別是對(duì)于錯(cuò)誤的處理。require()語(yǔ)句在遇到包含文件不存在,或是出錯(cuò)的時(shí)候,就停止即行,并報(bào)錯(cuò)。include()則繼續(xù)即行。2016-08-08詳談php ip2long 出現(xiàn)負(fù)數(shù)的原因及解決方法
下面小編就為大家?guī)?lái)一篇詳談php ip2long 出現(xiàn)負(fù)數(shù)的原因及解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04php實(shí)現(xiàn)推薦功能的簡(jiǎn)單實(shí)例
在本篇文章里小編給各位整理的是關(guān)于php如何實(shí)現(xiàn)推薦功能的相關(guān)實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2019-09-09