Php Can';t用sql插入我从日历中选择的日期
我正在大学做一个项目,但我不知道如何插入从日历功能中选择的日期。我试过几次,但我得到0000-00-00或当前日期:2014-06-08Php Can';t用sql插入我从日历中选择的日期,php,mysql,sql,Php,Mysql,Sql,我正在大学做一个项目,但我不知道如何插入从日历功能中选择的日期。我试过几次,但我得到0000-00-00或当前日期:2014-06-08 函数以“Y-m-d”格式提供当前日期,这是获取当前日期的第一个原因,也是因为您在获取当前日期后保存了当前日期:$checkout=mysqli\u real\u escape\u string($con,$\u POST['checkout'])您使用$\u POST['checkout'] 您应该这样做: $checkout = mysqli_real_e
函数以“Y-m-d”格式提供当前日期,这是获取当前日期的第一个原因,也是因为您在获取当前日期后保存了当前日期:$checkout=mysqli\u real\u escape\u string($con,$\u POST['checkout'])代码>您使用$\u POST['checkout']
您应该这样做:
$checkout = mysqli_real_escape_string($con, $_POST['checkout']);
$checkout = date_format(date_create($checkout), 'Y-m-d');
问题可能在于您的html表单。HTML5支持简单的日期选择器:
<input type="date" name="checkin">
<input type="date" name="checkout">
您不需要value=“DD/MM/YY”和onfocus以及其他参数。如果日期输入为空,则不会返回任何内容。输入还以unix时间戳的形式输出日期,我相信我仍然在表中得到日期的0000-00-00。这可能是您的数据库有问题,前段时间我遇到了相同的问题,我的列是错误类型,因此我只得到0000-00-00,但也可能是您的$u POST['checkout']给你这个日期。好像我看到有一些是正确的日期还是没有?他们是怎么找到合适的日期的?尝试var\u dump($checkout)
以了解使用$checkout=date('Y-m-d')的mysqli\u real\u escape\u字符串后的变量中有什么内容;我得到了时间戳,得到了当前日期,而不是我选择的日期……是的,我知道,但是$\u POST['checkout']变量是空的或类似的。然后date\u create会像你说的那样创建一个带有0000-00-00的日期,并将其插入你的数据库中。请在使用mysqli\u query()
之前输入$sql
的值,并让我们知道它是什么。我的hmtl表单中的输入是:你不需要value=“DD/MM/YY”还有焦点和其他论点。如果日期输入为空,则不会返回任何内容。输入还以unix时间戳的形式输出日期,我相信如果我只使用以下代码,我的日历脚本不起作用,也不会弹出小日历窗口,因此我可以选择我想要的日期。。。IE和FireFox不支持html5日期选择器,因此您需要使用safari或chrome。它的html5功能和其他javascript类都是不需要的。当我提交我从chrome为我的项目制作的预订表单时,它工作得很好,但我想要一个能与所有浏览器一起工作的解决方案,因为当我展示我的项目时,他们可能不使用chrome或safari。
<input type="date" name="checkin">
<input type="date" name="checkout">