男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

PDO::prepare

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PHP 8,PECL pdo >= 0.1.0)

PDO::prepare 準備要執行的語(yǔ)句,并返回語(yǔ)句對象

說(shuō)明

public PDO::prepare(string $statement, array $driver_options = array()): PDOStatement

PDOStatement::execute() 方法準備待執行的 SQL 語(yǔ)句。 語(yǔ)句模板可以包含零個(gè)或多個(gè)參數占位標記,格式是命名(:name)或問(wèn)號(?)的形式,當它執行時(shí)將用真實(shí)數據取代。 在同一個(gè)語(yǔ)句模板里,命名形式和問(wèn)號形式不能同時(shí)使用;只能選擇其中一種參數形式。 請用參數形式綁定用戶(hù)輸入的數據,不要直接字符串拼接到查詢(xún)里。

調用 PDOStatement::execute() 時(shí),每一個(gè)值的參數占位標記,名稱(chēng)必須唯一。 除非啟用模擬(emulation)模式,同一個(gè)語(yǔ)句里無(wú)法使用重名的參數。

注意:

參數占位符僅能字面上展示完整的數據。不能是字面的一部分,不能是關(guān)鍵詞,不能是標識符,不能是其他任意的范圍。 舉例說(shuō)明:不能把多個(gè)值綁到單個(gè)參數里,然后在 SQL 語(yǔ)句里用 IN() 查詢(xún)。

如果用不同參數,通過(guò) PDO::prepare()PDOStatement::execute() 多次調用同一個(gè) SQL 語(yǔ)句,將提升應用的性能 —— 驅動(dòng)可以讓客戶(hù)端/服務(wù)器緩存查詢(xún)和元信息。 同時(shí),調用 PDO::prepare()PDOStatement::execute() 還能阻止 SQL 注入攻擊,不需要給參數手動(dòng)加引號與轉義。

如果內置驅動(dòng)不支持參數,PDO 將模擬出參數的功能;如果驅動(dòng)僅僅支持其中一種風(fēng)格(命名參數和問(wèn)號參數兩種),也會(huì )自動(dòng)重寫(xiě)到另外一種風(fēng)格。

注意: The parser used for emulated prepared statements and for rewriting named or question mark style parameters supports the non standard backslash escapes for single- and double quotes. That means that terminating quotes immediately preceeded by a backslash are not recognized as such, which may result in wrong detection of parameters causing the prepared statement to fail when it is executed. A work-around is to not use emulated prepares for such SQL queries, and to avoid rewriting of parameters by using a parameter style which is natively supported by the driver.

參數

statement

必須是對目標數據庫服務(wù)器有效的 SQL 語(yǔ)句模板。

driver_options

數組包含一個(gè)或多個(gè) key=>value 鍵值對,為返回的 PDOStatement 對象設置屬性。 常見(jiàn)用法是:設置 PDO::ATTR_CURSORPDO::CURSOR_SCROLL,將得到可滾動(dòng)的光標。 某些驅動(dòng)有驅動(dòng)級的選項,在 prepare 時(shí)就設置。

返回值

如果數據庫服務(wù)器完成準備了語(yǔ)句, PDO::prepare() 返回 PDOStatement 對象。 如果數據庫服務(wù)器無(wú)法準備語(yǔ)句, PDO::prepare() 返回 false 或拋出 PDOException (取決于 錯誤處理器)。

注意:

模擬模式下的 prepare 語(yǔ)句不會(huì )和數據庫服務(wù)器交互,所以 PDO::prepare() 不會(huì )檢查語(yǔ)句。

范例

示例 #1 命名參數形式的 SQL 語(yǔ)句模板

<?php
/* 傳入數組的值,并執行準備好的語(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();
?>

示例 #2 問(wèn)號形式的 SQL 語(yǔ)句模板

<?php
/* 傳入數組的值,并執行準備好的語(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)

男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站