在我的工作场所,我们遇到某个领域的问题。我们需要不时地从邮件列表中暂停某人,为此,我们只需更新他们的记录以使暂停字段= Y.
在phpMyAdmin中没有问题,但是当我们为人员使用crud页面时,有时它无法更新,留下Suspend = N的值。看完代码后,我想知道以下行是否可以成为问题的根源。
$rs = mysql_query($sql, $conn) or die("Query has Failed : $sql");
在它看起来不错之前的所有其他内容,它是脚本中的最后一行。现在,我认为这不应该奏效,但确实如此。这将运行查询。我认为它只会在
的情况下起作用mysql_query($sql, $conn) or die("Query has Failed : $sql");
但它似乎在大多数情况下都能正常工作。只有时不时它都不起作用。这可能是问题的原因吗?最后一点信息,我们使用MyIsam作为引擎。
我很感激你能给予的任何帮助!
答案 0 :(得分:0)
mysql_query将返回一个值,无论您是否将该返回值分配给变量。通过PHP的运算符优先级规则,第一个语句被视为:
$rs = (
(mysql_query($sql, $conn))
or
(die("Query has Failed..."))
);
查询是什么样的?请记住,即使查询未能按预期执行操作,mysql_query也可以返回“成功”状态。例如UPDATE ... SET ... WHERE (somefield = value_that_doesnt_exist);
。查询没有按照您的意愿执行,但也没有失效,因此mysql_query不会返回FALSE并且不会触发or die(...)
。