我已经创建了一个更新sql语句,但是如果我回显更新sql,它会显示值已更新,但是当我在表中检查时,没有任何更改。 这是更新声明
$updatesql="UPDATE patient_surgery
set rn_no ='$rn_no',
ic_no = '$ic_no',
ot_location = '$ot_location',
ot_date = '$otdate',
ward = '$ward',
paying_status = '$paying_status',
class = '$class',
arrived_fr = '$arrived_fr',
discharge_to = '$discharge_to'
WHERE rn_no = '$rn_no'
and ot_date = '$otdate'";
if (mysql_query($updatesql))
{
echo "<p>successful</p>";
echo ($updatesql);
} else {
echo mysql_error();
}
这是print_r语句
UPDATE patient_surgery set rn_no ='RN001-13', ic_no = '771102016050', ot_location = '3', ot_date = '2014-02-12', ward = '01', paying_status = '2', class = '1', arrived_fr = '2', discharge_to = '3' WHERE rn_no = 'RN001-13' and ot_date = '2014-02-12'
这是更新后表中的值
” +选项 全文Surg_Id rn_no ic_no ot_location ot_date ward paid_status class arri_fr discharge_to 编辑编辑复制复制删除删除rand52fad20d168f69.42722209 RN001-13 771102016050 2 2014-02-10 015 1 2 1 1“
答案 0 :(得分:2)
您的更新查询基于房间号。和日期。日期在查询提交时更改,当WHERE子句查找当前日期时,它找不到它,因此没有任何反应。 (比较查询和数据库中的ot_date
)
首先,您没有任何primary key
,例如id。您的查询应该基于该ID保持不变,不应显示更新。想想是否有人更改了房间号和日期,那么你的WHERE子句将如何找到匹配的记录?