更新表在MySQL中未成功

时间:2014-02-16 04:48:57

标签: php mysql

我已经创建了一个更新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“

1 个答案:

答案 0 :(得分:2)

您的更新查询基于房间号。和日期。日期在查询提交时更改,当WHERE子句查找当前日期时,它找不到它,因此没有任何反应。 (比较查询和数据库中的ot_date

首先,您没有任何primary key,例如id。您的查询应该基于该ID保持不变,不应显示更新。想想是否有人更改了房间号和日期,那么你的WHERE子句将如何找到匹配的记录?