任何人都可以告訴我這段代碼有什麼問題嗎?我的php代碼有什麼問題?
protected function update() {
if(@$_POST['lat'] == "" && @$_POST['lng'] == "" && @$_POST['bool'] == "")
return array("message"=>"lat, lng is missing");
$lat = $_POST['lat'];
$lng = $_POST['lng'];
$bool = $_POST['bool'];
$sql = "UPDATE markers SET bool='$bool' WHERE lat=? AND lng=?";
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("sss",$lat,$lng,$bool);
$stmt->execute();
$stmt->close();
$mysqli->close();
}
我得到這個錯誤:
mysqli_stmt::bind_param():
Number of variables doesn't match number in prepared statement?
in line 96.($stmt->bind_param("sss",$lat,$lng,$bool);
但我不知道爲什麼?因爲看起來聲明應該是正確的。
其中
'$ sql'你想運行的'update'或'delete'? 'delete'是變量中唯一的一個。 –
錯誤消息告訴你想要錯誤。看看你的查詢 - 怎麼可能??(參數佔位符)在那裏?你傳遞給'bind_parm'的參數有多少? –
好吧,3!= 2.即使你把代碼複製到某個地方,你也應該試着理解它的作用。 IHMO,很明顯,你只是期望它能夠工作。 –