PDO::prepare講解
PDO::prepare
PDO::prepare — 準(zhǔn)備要執(zhí)行的SQL語句并返回一個 PDOStatement 對象(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
說明
語法
public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )
為PDOStatement::execute()方法準(zhǔn)備要執(zhí)行的SQL語句,SQL語句可以包含零個或多個命名(:name)或問號(?)參數(shù)標(biāo)記,參數(shù)在SQL執(zhí)行時會被替換。
你不能在 SQL 語句中同時包含命名(:name)或問號(?)參數(shù)標(biāo)記,只能選擇其中一種風(fēng)格。
預(yù)處理 SQL 語句中的參數(shù)在使用PDOStatement::execute()方法時會傳遞真實(shí)的參數(shù)。
參數(shù)
statement
合法的SQL語句。 driver_options
此數(shù)組包含一個或多個key= >value 對來設(shè)置 PDOStatement 對象的屬性, 最常使用到是將PDO::ATTR_CURSOR值設(shè)置為PDO::CURSOR_SCROLL來請求一個可滾動游標(biāo)。
返回值
如果成功,PDO::prepare()返回PDOStatement對象,如果失敗返回 FALSE 或拋出異常 PDOException 。
實(shí)例
使用命名(:name)參數(shù)來準(zhǔn)備SQL語句
<?php
/* 通過數(shù)組值向預(yù)處理語句傳遞值 */
$sql = 'SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>
使用問號(?)參數(shù)來準(zhǔn)備SQL語句
<?php
/* 通過數(shù)組值向預(yù)處理語句傳遞值 */
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
PHP5權(quán)威編程閱讀學(xué)習(xí)筆記 附電子書下載
PHP5中,使用新的統(tǒng)一的構(gòu)造函數(shù)命名方式:__construct(),當(dāng)然,使用類名同樣也是可以的2012-07-07
php動態(tài)實(shí)現(xiàn)表格跨行跨列實(shí)現(xiàn)代碼
由于按照條件提取多臺服務(wù)器生成的報表數(shù)據(jù)的需要,我們很可能用到php動態(tài)生成可以跨行跨列的表格,table跨行跨列雜糅在一起經(jīng)常出現(xiàn)不好控制,而且行列合并屬性的邏輯耦合度很高,所以對于這次的需要就有了如下東西2012-11-11
php學(xué)習(xí)筆記 類的聲明與對象實(shí)例化
在類中聲明成員屬性時,前面必須有修飾詞,當(dāng)不確定使用哪個詞時,使用var或public 一個文件只保存一個類,文件名中包含類名,文件2011-06-06
用PHP將數(shù)據(jù)導(dǎo)入到Foxmail
用PHP將數(shù)據(jù)導(dǎo)入到Foxmail...2006-10-10

