pdo連線mysql操作方法

2023-01-28 01:26:02 字數 2342 閱讀 6461

pdo常用方法:

pdo::query()主要用於有記錄結果返回的操作(pdostatement),特別是select操作。

pdo::exec()主要是針對沒有結果集合返回的操作。如insert,update等操作。返回影響行數。

pdo::lastinsertid()返回上次插入操作最後一條id,但要注意:如果用insert into tb(col1,col2) values(v1,v2),(v11,v22)..的方式一次插入多條記錄,lastinsertid()返回的只是第一條(v1,v2)插入時的id,而不是最後一條記錄插入的記錄id。

pdostatement::fetch()是用來獲取一條記錄。配合while來遍歷。

pdostatement::fetchall()是獲取所有記錄集到一箇中。

pdostatement::fetchcolumn([int column_indexnum])用於直接訪問列,引數column_indexnum是該列在行中的從0開始索引值,但是,這個方法一次只能取得同一行的一列,只要執行一次,就跳到下一行。因此,用於直接訪問某一列時較好用,但要遍歷多列就用不上。

pdostatement::rowcount()適用於當用query("select ...")方法時,獲取記錄的條數。也可以用於預處理中。$stmt->rowcount();

pdostatement::columncount()適用於當用query("select ...")方法時,獲取記錄的列數。

註解:1、選fetch還是fetchall?

小記錄集時,用fetchall效率高,減少從資料庫檢索次數,但對於大結果集,用fetchall則給系統帶來很大負擔。資料庫要向web前端傳輸量太大反而效率低。

2、fetch()或fetchall()有幾個引數:

mixed pdostatement::fetch([int fetch_style [,int cursor_orientation [,int cursor_offset]]])

array pdostatement::fetchall(int fetch_style)

fetch_style引數:

■$row=$rs->fetchall(pdo::fetch_both); fetch_both是預設的,可省,返回關聯和索引。

■$row=$rs->fetchall(pdo::fetch_assoc); fetch_assoc引數決定返回的只有關聯陣列。

■$row=$rs->fetchall(pdo::fetch_num); 返回索引陣列

■$row=$rs->fetchall(pdo::fetch_obj); 如果fetch()則返回物件,如果是fetchall(),返回由物件組成的二維陣列

複製****如下:

1 建立連線

複製****如下:

<?php

$dbh=newpdo('mysql:host=localhost;port=3306; dbname=test',$user,$pass,array(

pdo::attr_persistent=>true

));?>

永續性連結pdo::attr_persistent=>true

2. 捕捉錯誤

複製****如下:

<?php

trycatch(pdoexception$e)

?>

3. 事務的

複製****如下:

<?php

trycatch(exception$e)

?>

4. 錯誤處理

a. 靜默模式(預設模式)

複製****如下:

$dbh->setattribute(pdo::attr_errmode,pdo::errmode_silent); //不顯示錯誤

$dbh->setattribute(pdo::attr_errmode, pdo::errmode_warning);//顯示警告錯誤,並繼續執行

$dbh->setattribute(pdo::attr_errmode,pdo::errmode_exception);//產生致命錯誤,pdoexception

複製****如下:

1. 使用 query()

複製****如下:

2. 使用 prepare, bindparam和 execute [建議用,同時可以用新增、修改、刪除]

複製****如下:

<?php

$dbh->prepare($sql); 產生了個pdostatement物件

pdostatement->bindparam()

pdostatement->execute();//可以在這裡放繫結的相應變數

?>

3. 事物

複製****如下:

Mysql操作方法類

幫助類 using system using system.collections.generic using system.data using system.linq using system.text using system.threading.tasks using mysql.data....

5 2 6 操作方法

1 concat 方法可以基於當前陣列中的所有項建立一個新陣列。具體來說,這個方法會先建立當前陣列一個副本,然後將接收到的引數新增到這個副本的末尾,最後返回新構建的陣列。原陣列不會有任何變動 2 slice 能夠基於當前陣列中的一或多個項建立一個新陣列。slice 方法可以 接受一或兩個引數,即要返...

php使用PDO連線mysql資料庫

資料庫名為test,共三個欄位id自增長,主鍵,name,pwd為數字 測試用的。執行一個例項時註釋掉其餘的,我的 都是。運算元據庫步驟 1,連線認證 pdo construct dsn,user,pass dsn 資料來源,資料庫資訊 pdo new pdo 2,組織sql語句 3,傳送sql語句...