我已经做了大量的研究并尝试了一堆东西,但没有运气,所以我想我应该在这里问一下。SQL将我的输入日期转换为0000-00-00并且时间为00:00:17
两件事。我有以下代码来选择日期和时间。
<input type="date" name="conDate">
<input type="time" name="conTime">
然后下面验证并将其转换为SQL存储。
$conDate = mysqli_real_escape_string($conn, isset($_POST['conDate'])) ? $_POST['conDate']: null;
$conTime = mysqli_real_escape_string($conn, isset($_POST['conTime'])) ? $_POST['conTime']: null;
$conDate = trim($conDate);
$conTime = trim($conTime);
$conDate = date('Y-m-d', strtotime(str_replace('/', '-', $conDate)));
$conTime = date("H:i", strtotime($conTime));
$sqlSum = "INSERT INTO software.concert(
concertTitle, concertDesc, concertLocation, concertDate, concertTime, concertHost, concertWallet, concertRevenue, concertAgeRes)
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = mysqli_prepare($conn, $sqlSum);
mysqli_stmt_bind_param($stmt, "ssddddddd", $title, $desc, $location, $conDate, $conTime, $hostID, $wallet, $revenue, $ageR);
mysqli_stmt_execute($stmt) or die(mysqli_error($conn));
mysqli_stmt_close($stmt);
concertDate(和concertTime)各字段的正确的名称,并为字段类型日期(和时间(0)),而且我经常试图调试,但对于一些奇怪的原因,SQL虽然输入值为2016-08-21(17:30为00:00:17),但表格始终将“0000-00-00”作为日期值。我尝试删除str_replace,即使有表作为varchar(10)输入日期,但即使这并没有帮助我。
我该怎么做才能防止0000-00-00和00:00:17被输入到数据库中,并确保适当的值或2016-08-21(yyyy-mm-dd)和17:30 (HH:MM)?我得到一个AI ID,并且我得到了标题,desc,位置等信息,等全部,它只是日期和时间。)
为什么日期和时间隔离字段? – 2016-04-03 23:28:35
看来你的陈述是腐败的。做一个printf或回声,看看它并在这里发布。 – recycler
@Dagon在未来我需要将其分开以用于样式目的,除非这不起作用。无论如何,我只是想单独发帖。 –