$updateData = $con->prepare("UPDATE target SET date=?, time=? WHERE plan_id=?, date=?, time=?");
$updateData->bind_param("iss", $plan_id,$date,$time);
如您所见,我正在尝试根据日期和时间更新目标表以反映新的日期和时间。甚至可以这样做吗?或者我必须分成两个单独的准备调用(首先选择ID,然后更新)?
答案 0 :(得分:1)
首先将WHERE
子句中的逗号更改为AND
' s
$updateData = $con->prepare("UPDATE plandetailmarker
SET date=?, time=?
WHERE plan_id=?
AND placeName=?
AND date=?
AND time=?");
您只需确保绑定参数与查询中所需的数字匹配。
您的查询中有5个需要参数的项目,但您只能绑定3个
$updateData->bind_param("iss", $plan_id,$date,$time);
应该更像这样 -
$updateData->bind_param("ssiss", $date, $time, $plan_id, $date, $time);
我强烈怀疑你的第一个日期和时间与第二个不同,所以你必须以不同的方式打电话给他们 -
$updateData->bind_param("ssiss", $new_date, $new_time, $plan_id, $date, $time);