我有一个非常简单的查询,它更新“status”、“has_note”(两者都是数据库中的tinyint
)和时间。每次运行时时间都会正确更新,但是其他两个不受影响并且从未改变。
这是代码:
$status_sql = "
UPDATE voe_employment
SET status = 5, email_date = NOW()
WHERE emp_id = " . $_POST['emp_id'] . "
LIMIT 1";
$status_result = mysql_query($status_sql);
我已将生成的 $status_sql
复制并粘贴到 pmadmin
中,并且所有内容都正确更新。
另外,执行此代码后出现$status_result = 1
,表示成功。
此代码块包含在“try、catch”语句中,并且 catch 永远不会运行/激活。我尝试过将表名括在 `` 中,将 5 括在 '' 中,等等。
最佳答案
检查以确保之后没有其他代码执行另一个UPDATE
。我们过去已经发现了这一点。另一个意外的更新正在运行,我们不知道它覆盖了数据。
关于php - MySQL Update只会更新查询中指定的某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30512656/