php使用pdo串連並查詢sql資料庫的方法_php技巧

來源:互聯網
上載者:User

本文執行個體講述了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資料庫程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.