2011-04-09 76 views
2

如何在mysqli預處理語句中將常量傳遞給bind_param。通過傳遞變量以下罰款作品:mysqli:在bind_param中傳遞常數

$stmt->bind_param("i", $id); 

但是,如果我試圖通過恆定的,這是行不通的。 例如:

$stmt->bind_param("i", ID); 

給出以下錯誤:

Fatal error: Cannot pass parameter 2 by reference in... 

由於

回答

2

在庫MySQLi,以下類型的字符串參數通過引用傳遞,而不是值。唯一可以通過引用傳遞的是一個變量。之所以使用變量是可以分配的變量,執行語句,再次分配變量,再執行該語句等,所以試試這個:

$id = ID; 
$stmt->bind_param("i", $id); 

,或者嘗試使用PDO的MySQL驅動程序,而不是庫MySQLi。 PDO允許您選擇將值而不是變量綁定到查詢參數。如果您計劃僅執行一次準備好的語句,這很有用。

+0

是的。它工作正常 – 2017-04-26 08:19:00