【发布时间】:2013-09-26 15:37:05
【问题描述】:
我已经创建了一个 sql 行作为类型:日期时间。
日期时间的输入应该是:2013-02-02 10:13:20
你会得到这样的练习:0000-00-00 00:00:00
现在在 php 中,我使用 date("Y-m-d H:i:s");(当前日期和时间) 将其插入到我的数据库中。还有其他变量。这些变量被插入,但日期时间行保持不变:0000-00-00 00:00:00
我第一次得到这个代码时,除了日期之外的一切都有效:
$resultaat = $mysqli2->query("INSERT INTO questions (title, description, username, date_made) VALUES ('" . $title . "','" . $description . "', '".$username ."','".date("Y-m-d H:i:s")."')");
但是数据库中的所有信息都会在它们周围得到""。(这可能导致日期跳转到0000-00-00 00:00:00
现在当我尝试再次插入其他信息时,它甚至不会再插入了。我的问题:
- 将日期设置为
0000-00-00 00:00:00的真正问题是什么?是自动""吗? - 如果是
"",怎么能丢?
编辑:
Nvm 我丢失了"" 这不是导致插入在第二次尝试时失败的问题。
- 为什么我插了一次就插不进去了?
现在这些并不是真正不同的问题,因为它是关于同一个问题,但这是我的代码,是的,我知道 SQL 注入,我稍后会修复它:
if (isset($_POST['title'])) {
$alles_goed=true;
$description=$_POST['description'];
$title=$_POST['title'];
$username=$_SESSION['username'];
if ($title=''){
$alles_goed=false;
echo'title is empty';
}
if($alles_goed==true){
$resultaat = $mysqli2->query("INSERT INTO questions (title, description, username, date_made) VALUES ('" . $title . "','" . $description . "', '".$username ."','".date("Y-m-d H:i:s")."')");
}
}
【问题讨论】:
-
打印最终的 SQL 查询。然后看看值是否正确。
-
将 date("Y-m-d H:i:s") 值存储在变量中并分配给它并检查它是否正在插入
-
@SaranyaSadhasivam 仍未插入