PDOStatement::execute
執行陳述式。
語法
bool PDOStatement::execute ([ $input ] );
參數
$input:(選擇性) 包含參數標記值的關聯陣列。
傳回值
成功時傳回 true,否則傳回 false。
備註
以 PDOStatement::execute 執行的陳述式必須先使用 PDO::prepare準備。 如需如何指定直接或已備妥陳述式執行的資訊,請參閱 PDO_SQLSRV 驅動程式中的直接陳述式執行和已備妥的陳述式執行 。
輸入參數陣列的所有值都會被視為 PDO::PARAM_STR 值。
如果已備妥的陳述式包含參數標記,您必須呼叫 PDOStatement::bindParam 以將 PHP 變數繫結至參數標記,或傳遞僅限輸入的參數值陣列。
Microsoft Drivers for PHP for SQL Server 2.0 版已新增 PDO 支援。
範例
<?php
$database = "AdventureWorks";
$server = "(local)";
$conn = new PDO( "sqlsrv:server=$server ; Database = $database", "", "");
$query = "select * from Person.ContactType";
$stmt = $conn->prepare( $query );
$stmt->execute();
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
print "$row[Name]\n";
}
echo "\n";
$param = "Owner";
$query = "select * from Person.ContactType where name = ?";
$stmt = $conn->prepare( $query );
$stmt->execute(array($param));
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
print "$row[Name]\n";
}
?>
注意
建議在將值繫結至 decimal 或 numeric 資料行時使用字串作為輸入,以確保精確度與正確性,因為 PHP 所具備的浮點數 \(英文\) 精確度有限。 這同樣適用於 bigint 資料行,尤其當值不在某個整數的範圍內時。