当我运行这个脚本时,strtotime和date函数可以工作,但是当SQL查询运行时,db中的date列仍然为空。
$date = mysqli_real_escape_string($conn, $_POST['date']);
$day1 = strtotime($date);
$day1 = date('Y-m-d', $day1);
$id = 1;
echo $day2;
$sql = "UPDATE essay SET date = $day1 WHERE id = $id";发布于 2019-04-18 22:47:49
您必须像这样在$day1上添加一个报价:
$sql = "UPDATE essay SET date = '$day1' WHERE id = '$id'";通过拼接的另一种方式:
$sql = "UPDATE essay SET date = ".$day1." WHERE id = ".$id;发布于 2019-04-18 22:51:15
除非SQL字段是整数类型或类似的数字类型,否则写入该字段的数据应在insert语句中加引号。在本例中,您的$day1类似于"2019-04-18“,因此您的SQL应该是:
$sql = "UPDATE essay set date = '$day1' where id = $id";单引号应该允许查询成功。请注意,调试这类东西相当容易,但在某些教程中并没有介绍;如果查询失败,请尝试记录或回显MySQL(i)错误:
$query = $db->query($sql);
if (!$query) echo $db->error;https://stackoverflow.com/questions/55748522
复制相似问题