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語句...