溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP之PDO-prepare

發(fā)布時(shí)間:2020-06-02 07:35:29 來(lái)源:網(wǎng)絡(luò) 閱讀:302 作者:liuzhongcool 欄目:web開(kāi)發(fā)

當(dāng)同一個(gè)SQL多次查詢(執(zhí)行)時(shí),只是每次的查詢條件(數(shù)據(jù))不一樣,那么,使用prepare就對(duì)了.

它可大大減少查詢(執(zhí)行)時(shí)間,服務(wù)器資源消耗..


原型:

PDOStatement PDO::prepare(string query [, array driver_options])


占位符:

1,有名占位符(:named parameters)

2,問(wèn)號(hào)占位符(?)

如:

INSERT INTO products SET sku = :sku, name = :name;
INSERT INTO products SET sku = ?, name = ?;


綁定一個(gè)參數(shù)到指定的變量名:

bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )

//命名占位符
$stmt->bindParam(':sku', $sku);
$stmt->bindParam(':title', $title);
//問(wèn)號(hào)占位符
$stmt->bindParam(1, $sku);
$stmt->bindParam(2, $title);


執(zhí)行步驟:

$dbh->prepare(); //準(zhǔn)備
$dbh->bindParam(); //綁定參數(shù)
$dbh->execute(); //執(zhí)行


查詢返回字段個(gè)數(shù):

integer PDOStatement::columnCount()

從結(jié)果集中返回下一行數(shù)據(jù):

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

常用fetch_style:

PDO::FETCH_ASSOC:返回一個(gè)索引為結(jié)果集列名的數(shù)組 

PDO::FETCH_BOTH(默認(rèn)):返回一個(gè)索引為結(jié)果集列名和以0開(kāi)始的列號(hào)的數(shù)組 

PDO::FETCH_NUM:返回一個(gè)索引為以0開(kāi)始的結(jié)果集列號(hào)的數(shù)組

PDO::FETCH_OBJ:返回一個(gè)屬性名對(duì)應(yīng)結(jié)果集列名的匿名對(duì)象 

PDO::FETCH_BOUND:返回 TRUE ,并分配結(jié)果集中的列值給 PDOStatement::bindColumn()方法綁定PHP 變量。


返回一個(gè)包含結(jié)果集中所有行的數(shù)組

array PDOStatement::fetchAll([int fetch_style])


從結(jié)果集中的下一行返回單獨(dú)的一列

string PDOStatement::fetchColumn([int column_number])

綁定列名:

boolean PDOStatement::bindColumn(mixed column, mixed &param [, int type [, int maxlen [, mixed driver_options]]])


操作事務(wù):

開(kāi)始:

boolean PDO::beginTransaction();

提交:

boolean PDO::commit();

回滾:

boolean PDO::commit()



向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI