Php 在两个日期之间更新MYSQL数据库
我很难做到这一点,我需要更新数据库中的一个表,更改两个日期之间的所有记录的一个字段,并具有特定的用户名 日期值正在从表单传递到脚本 我所拥有的:Php 在两个日期之间更新MYSQL数据库,php,mysql,wordpress,sql-update,Php,Mysql,Wordpress,Sql Update,我很难做到这一点,我需要更新数据库中的一个表,更改两个日期之间的所有记录的一个字段,并具有特定的用户名 日期值正在从表单传递到脚本 我所拥有的: mysql_query(" UPDATE data SET status='Submitted' WHERE (user_name = '$current_user->user_login') AND labor_date >= '$_POST[start]' AND labor_date &
mysql_query("
UPDATE data
SET status='Submitted'
WHERE (user_name = '$current_user->user_login')
AND labor_date >= '$_POST[start]'
AND labor_date <= '$_POST[end]'")
mysql\u查询(“
更新数据
设置状态为“已提交”
其中(user\u name='$current\u user->user\u login')
和人工日期>='$'发布[开始]'
和人工日期确保您的日期符合以下格式:
yyyy-mm-dd
您还可以检查mysql\u infected\u rows()以查看查询是否成功运行,但没有找到符合条件的行
您可能还希望将字符串构建为一个变量,如$sql=“…”
这将允许您出于调试目的对其进行回显
*您确实意识到mysql_u2;是一个不推荐使用的库,很快就会从PHP中完全删除?此时您应该使用mysqli或PDO*
哦,是的,关于带关键点的数组插值的一点提示:
AND labor_date >= '{$_POST['start']}'
您是否有任何错误消息/日志?请提供更多信息。此外,请提供有关日期格式的信息。这可能是一个原因,因为您的查询乍一看很好。类似于1950-01-25
的格式应该可以工作。当您编写日期来自表单时,还应注意SQL注入攻击。呃ror消息、示例数据、表结构?听说过SQL注入?$\u POST[开始]、$\u POST[结束]它们的格式是否正确^应该以引号开头和结尾吗?使用MYSQL BETWEEN而不是>=我同意@ewein的评论,我会使用BETWEEN语法,但是这不是问题的原因——只是一个更干净的替代方法。