我一直試圖讓這個工作在大部分時間都無濟於事。綁定參數錯誤(PHP)
基本上,我想bind_param()的一個foreach()循環中,但是,當我這樣做,我得到以下錯誤:
Warning: mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: Number of variables doesn't match number of parameters in prepared statement in /nfs/domains/domain.com/html/v2/includes/classes/class.Database.php on line 72
Warning: mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: Number of variables doesn't match number of parameters in prepared statement in /nfs/domains/domain.com/html/v2/includes/classes/class.Database.php on line 72
我假設這是由於PHP認爲由於循環內部有單個bind_param()語句,只有一個參數被綁定,因此它與prepare語句中指定的參數數量不匹配。
如果這是正確的,我該如何糾正?
代碼提取物(管線19):
public function query($sql, $params) {
if(!$sobj = $this->conn->prepare($sql)) {
die('Query Prepare Error (' . $this->conn->mysqli_errno . ') '
. $this->conn->mysqli_error);
} else {
if(!is_array($params)) {
$params = array_slice(func_get_args(), 1);
}
foreach($params as $value) {
$type = strtolower(gettype($value));
$sobj->bind_param($type[0], $value);
}
$sobj->execute();
$sobj->bind_result($result);
$sobj->fetch();
$sobj->close();
return $result;
}
}
感謝。
請粘貼查詢,發現錯誤。沒有它就很難進行調試。 – 2011-02-27 04:07:49