1
我有一些相似(但不完全相同)的sql語句。每個調用的參數類型都不相同,所以我想將它們作爲變量傳遞。例如:在mysqli中使用變量bind_param
$stmt->bind_param($typeString, $parameter1, $parameter1);
其中$ typeString可以設置爲'ss'或'is'或'ds'。
我得到的錯誤類型定義字符串中的元素數量與綁定變量的數量不匹配。
我曾嘗試(例如)
$typeString = "is";
$typeString = "\'".$typeString."\'";
$stmt->bind_param($typeString, $parameter1, $parameter1);
而且
$typeString = "is";
$stmt->bind_param($typeString, $parameter1, $parameter1);
但仍得到一個錯誤。
是否可以用變量設置它?
sql statment在哪裏?永遠不要綁定變量兩次,你使用'$ parameter1'兩次。 – JustOnUnderMillions
而你只是一次綁定:http://stackoverflow.com/questions/15748254/how-to-run-the-bind-param-statement-in-php#15748384然後重新填充參數變量並再次執行。如果可能的話,總是使用's'作爲參數。 – JustOnUnderMillions
_數量相似(但不相同)的sql語句_所以如果你有2個sql語句,那麼你也有2個mysqli stmt對象(每個stmt)。所以這裏沒有什麼應該混淆的 – JustOnUnderMillions