我正在尝试将发送给函数的字符串转换为日期,以便可以将其与数据库中的日期字段进行比较,但是它不起作用,我也不知道为什么。我已经试过了:<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”。
- 1 回答
- 0 关注
- 181 浏览
添加回答
举报
0/150
提交
取消