2014-10-09 68 views
-1

我正在嘗試使用預準備語句更新一行。我不想使用問號,因爲它逃脫了所有的撇號。我想用綁定它:coloumn_name需要幫助而沒有問號的綁定參數

當我試圖我不斷收到此錯誤信息......

調用一個成員函數bind_param()一個非對象....

有人可以嘗試幫我糾正這一點。我在下面列出了我的代碼。謝謝!

$query = "UPDATE categories SET category_name = :category_name WHERE id = :id "; 
$stmt = $db->prepare($query); 
$stmt->bind_param(":category_name,:id", $category_name, $id); 
+3

的MySQLi不支持命名的佔位符,它_only_允許''?如果您想要命名的佔位符,請考慮切換到更容易使用的PDO。 – 2014-10-09 19:39:55

+0

這是一個很好的教程,學習[pdo](http://a2znotes.blogspot.in/2014/09/introduction-to-pdo.html) – 2014-10-09 19:43:06

+0

[**使用PDO與準備語句**](http:/ /php.net/pdo.prepared-statements)如果你不想使用問號。 – 2014-10-09 19:54:12

回答

3

你不能用mysqli這樣做。

只有PDO(帶有預處理語句)支持指定的佔位符。

欲瞭解更多信息,請訪問PHP.net網站:

+0

謝謝@ Fred-ii-上帝保佑你! – meda 2014-10-09 21:24:07

+0

不客氣:) – 2014-10-10 00:12:14