PDO::prepare
PDO::prepare — 準(zhǔn)備要執(zhí)行的SQL語句并返回一個(gè) PDOStatement 對(duì)象(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語句可以包含零個(gè)或多個(gè)命名(:name)或問號(hào)(?)參數(shù)標(biāo)記,參數(shù)在SQL執(zhí)行時(shí)會(huì)被替換。
你不能在 SQL 語句中同時(shí)包含命名(:name)或問號(hào)(?)參數(shù)標(biāo)記,只能選擇其中一種風(fēng)格。
預(yù)處理 SQL 語句中的參數(shù)在使用PDOStatement::execute()方法時(shí)會(huì)傳遞真實(shí)的參數(shù)。
參數(shù)
statement
合法的SQL語句。
driver_options
此數(shù)組包含一個(gè)或多個(gè) key=>value 對(duì)來設(shè)置 PDOStatement 對(duì)象的屬性,
最常使用到是將PDO::ATTR_CURSOR值設(shè)置為PDO::CURSOR_SCROLL來請(qǐng)求一個(gè)可滾動(dòng)游標(biāo)。
返回值
如果成功,PDO::prepare()返回PDOStatement對(duì)象,如果失敗返回 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(); ?>
使用問號(hào)(?)參數(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(); ?>
更多建議: