PDO運算元據庫的方法

2021-08-06 02:11:41 字數 1811 閱讀 1330

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')")) 

?> 

<?php 

$pdo = new pdo("mysql:host=localhost;dbname=db_demo","root",""); 

$rs = $pdo -> query("select * from test"); 

while($row = $rs -> fetch()) 

?>

PHP運算元據庫PDO

訪問phpinfo.php可以檢視是否已經載入資料庫驅動,如下顯示還沒有載入mysql資料庫驅動。在c盤找到php.ini配置檔案開啟載入mysql驅動,如下圖,去掉分號。連線資料庫 dsn mysql dbname test host 127.0.0.1 資料來源名 user root 使用者名稱...

php pdo運算元據庫的方法

pdo 安裝 你可以通過 php 的 phpinfo 函式來檢視是否安裝了pdo擴充套件。1.在 unix linux系統上安裝 pdo 在unix上或linux上你需要新增以下擴充套件 extension pdo.so 2.在windows安裝pdo extension php pdo.dll 除...

運算元據庫

python importmysqldb defmydbtest conn mysqldb.connect host localhost user root passwd sa db b4img charset utf8 cursor conn.cursor sql select from imag...