Php 更新表集日期字段
我试图从一行更新一个日期字段,但它似乎没有影响它,但它正在按预期更新其他列。设置日期时,我一定遗漏了一些内容:Php 更新表集日期字段,php,mysqli,Php,Mysqli,我试图从一行更新一个日期字段,但它似乎没有影响它,但它正在按预期更新其他列。设置日期时,我一定遗漏了一些内容: $task_id = $_POST['task_id']; $task_started_status = htmlspecialchars($_POST['task_started_status']); $task_start_date = date('Y-m-d'); // Attempt update query execution $sql = "UPDATE task_l
$task_id = $_POST['task_id'];
$task_started_status = htmlspecialchars($_POST['task_started_status']);
$task_start_date = date('Y-m-d');
// Attempt update query execution
$sql = "UPDATE task_list
SET task_started_status = $task_started_status, task_start_date = $task_start_date
WHERE task_id='$task_id'";
if(mysqli_query($con, $sql)){
header('location: ../tasks.php');
} else {
echo "ERROR: Could not able to execute $sql. " . mysqli_error($con);
}
数据库正在使用
日期
数据类型,但没有发生错误,它仍然认为其所有数据都有效-没有错误-只是不更新,如果我在$task\u start\u DATE
上执行变量转储
,它将输出预期的日期。如我在评论中所述:
task\u start\u date=$task\u start\u date
需要在此处引用的task\u start\u date='$task\u start\u date'
因为它是一个字符串Y-m-d
另外,Y-m-d
MySQL将其解释为2016
减号06
减号06
(根据今天的日期),您正在使用的错误检查应该会给您带来一个错误,但您说没有,我觉得奇怪
但是没有错误发生,它仍然相信它是有效的-没有错误
在执行更新时,请使用mysqli\u infected\u rows()
了解真实性
exit代码>在标题之后。否则,您的代码可能希望继续执行
您可以使用CURDATE()
而不是$task\u start\u date=date('Y-m-d')代码>是不需要使用引用的task\u start\u date=CURDATE()
您当前的代码对用户开放。使用,或与.一起使用,如我在评论中所述:
task\u start\u date=$task\u start\u date
需要在此处引用的
task\u start\u date='$task\u start\u date'
因为它是一个字符串Y-m-d
另外,Y-m-d
MySQL将其解释为2016
减号06
减号06
(根据今天的日期),您正在使用的错误检查应该会给您带来一个错误,但您说没有,我觉得奇怪
但是没有错误发生,它仍然相信它是有效的-没有错误
在执行更新时,请使用mysqli\u infected\u rows()
了解真实性
还添加了exit代码>在标题之后。否则,您的代码可能希望继续执行
您可以使用CURDATE()
而不是$task\u start\u date=date('Y-m-d')代码>是不需要使用引用的task\u start\u date=CURDATE()
您当前的代码对用户开放。使用或与。所有这些POST数组/变量的值是多少?如果其中任何一个是字符串,您“应该”得到一个错误。另外,您从一个表单中获取这个值,它是什么样子的?值是$task\u id=post的id(INT),$task\u start\u status=0,1,2,3(INT)的单个值,日期应该是date()如上所述,task\u start\u date=$task\u start\u date
需要在此处引用task\u start\u date='$task\u start\u date'
,因为它是一个字符串Y-m-d
。列的类型也是什么?好吧,这就解决了它-这是因为它变成了一个字符串吗?正是丹。所有这些POST数组/变量的值是什么?如果其中任何一个是字符串,您“应该”得到一个错误。另外,您从一个表单中获取这个值,它是什么样子的?值是$task\u id=post的id(INT),$task\u start\u status=0,1,2,3(INT)的单个值,日期应该是date()如上所述,task\u start\u date=$task\u start\u date
需要在此处引用task\u start\u date='$task\u start\u date'
,因为它是一个字符串Y-m-d
。列的类型也是什么?这就解决了它-这是因为它变成了一个字符串吗?这就是Dan。