PDO::prepare
PDO::prepare
PDO::prepare — 準備要執(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í)行的SQL語句,SQL語句可以包含零個或多個命名(:name)或問號(?)參數(shù)標記,參數(shù)在SQL執(zhí)行時會被替換。
你不能在 SQL 語句中同時包含命名(:name)或問號(?)參數(shù)標記,只能選擇其中一種風格。
預處理 SQL 語句中的參數(shù)在使用PDOStatement::execute()方法時會傳遞真實的參數(shù)。
參數(shù)
statement
合法的SQL語句。
driver_options
此數(shù)組包含一個或多個 key=>value 對來設置 PDOStatement 對象的屬性,
最常使用到是將PDO::ATTR_CURSOR值設置為PDO::CURSOR_SCROLL來請求一個可滾動游標。
返回值
如果成功,PDO::prepare()返回PDOStatement對象,如果失敗返回 FALSE 或拋出異常 PDOException 。
實例
使用命名(:name)參數(shù)來準備SQL語句
實例
<?php
/* 通過數(shù)組值向預處理語句傳遞值 */
$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ù)來準備SQL語句
實例
<?php
/* 通過數(shù)組值向預處理語句傳遞值 */
$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();
?>
相關(guān)文章
- PHP $_GET 變量
- PHP 包含文件 include 和 require 語句
- PHP 文件處理
- PHP 異常處理
- PHP array_chunk() 函數(shù)
- PHP array_diff() 函數(shù)
- PHP array_fill_keys() 函數(shù)
- PHP array_keys() 函數(shù)
- PHP array_merge_recursive() 函數(shù)
- PHP array_search() 函數(shù)
- PHP array_sum() 函數(shù)
- PHP array_udiff_uassoc() 函數(shù)
- PHP asort() 函數(shù)
- PHP extract() 函數(shù)
- PHP krsort() 函數(shù)
- PHP list() 函數(shù)
- PHP pos() 函數(shù)
- PHP sort() 函數(shù)
- PHP Filter 函數(shù)
- PHP 雜項 函數(shù)