为了账号安全,请及时绑定邮箱和手机立即绑定

如何转换字符串日期以与数据库中的日期进行比较,PHP

如何转换字符串日期以与数据库中的日期进行比较,PHP

PHP
小怪兽爱吃肉 2021-05-12 17:50:36
我正在尝试将发送给函数的字符串转换为日期,以便可以将其与数据库中的日期字段进行比较,但是它不起作用,我也不知道为什么。我已经试过了:<a href="<?php echo site_url('job/DOEIntakeForm/' . $hearingdate); ?>">Download Intake Forms</a>和public function DOEIntakeForm($hearingDate) {    $newDate = date_format(date_create($hearingDate), 'Y-m-d');    $query = 'SELECT id, orderdata, reportername, hearing FROM job WHERE jobtypeid = 307 AND hearingtype = 9 AND hearing = ' . $newDate;    $result = $this->db->query($query)->result();    echo '<pre>'; print_r($result); exit;}然后,我尝试以已格式化的格式发送日期,如下所示:<a href="<?php echo site_url('job/DOEIntakeForm/' . date('Y-m-d',strtotime($hearingdate))); ?>">Download Intake Forms</a>但是我一直为$ result得到一个空数组。我看不到我在做什么错。我在网上查找了许多示例,它们都以这种方式进行,所以为什么它不起作用?如果我将日期硬编码到查询中,则一切正常。TIA。编辑:当我var_dump $ hearingDate时,我得到C:\ ### \ application \ controllers \ Job.php:2462:string'2019-03-01'(length = 10)
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

首先,您应该使用准备好的语句,这样可以避免SQL注入和此类问题。您需要在日期上加上单引号,所以它看起来像这样AND hearingtype = 9 AND hearing ='2019-03-01':


public function DOEIntakeForm($hearingDate) {

    $newDate = date_format(date_create($hearingDate), 'Y-m-d');

    $query = "SELECT id, orderdata, reportername, hearing FROM job WHERE jobtypeid = 307 AND hearingtype = 9 AND hearing = '" . $newDate."'";

    $result = $this->db->query($query)->result();

    echo '<pre>'; print_r($result); exit;

}

看到我更改了您的“ by”。


查看完整回答
反对 回复 2021-05-28
  • 1 回答
  • 0 关注
  • 181 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信