where子句中没有1054未知列billdate的错误

bttbmeg0  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(433)

这个问题在这里已经有答案了

在mysql中何时使用单引号、双引号和反引号(13个答案)
两年前关门了。
我在一个控制器(codeigniter)中尝试了原始查询,但在where子句中得到了未知列$newdate的错误($newdate和$newdate2是两个变量,这是我从用户那里得到的输入,并将其保存在变量$newdate和$newdate2中)…下面是我的代码
控制器代码:

$startdate = $this->input->post('SDate');
    $enddate = $this->input->post('EDate');
    $date = str_replace('/', '-', $startdate);
    $newDate = date("Y-m-d", strtotime($date));
    $date2 = str_replace('/', '-', $enddate);
    $newDate2 = date("Y-m-d", strtotime($date2));
    $data['startdate'] = $startdate;
    $data['enddate'] = $enddate;
    $query=$this->db->query('SELECT `vno`,`Prdtname`,`Qty`,`bundle` FROM purchaseitem WHERE `billdate` >= `$newDate2`AND `billdate` <= `$newDate` ORDER by `vno`')->result_array();
        $data['query'] = $query;

错误屏幕截图

m2xkgtsf

m2xkgtsf1#

您正在使用 $newDate php日期变量作为查询中的列。只需更改查询。

$query=$this->db->query('SELECT `vno`,`Prdtname`,`Qty`,`bundle` FROM purchaseitem WHERE `billdate` >= '.$newDate2.' AND `billdate` <= '.$newDate.' ORDER by `vno`')->result_array();

或:

$query=$this->db->query("SELECT `vno`,`Prdtname`,`Qty`,`bundle` FROM purchaseitem WHERE `billdate` >= $newDate2 AND `billdate` <= $newDate ORDER by `vno`")->result_array();
xdyibdwo

xdyibdwo2#

请尝试此代码,
我改了一些引语

$query=$this->db->query("SELECT `vno`,`Prdtname`,`Qty`,`bundle` FROM purchaseitem WHERE `billdate` >= '$newDate2' AND `billdate` <= '$newDate' ORDER by `vno`")->result_array();

$query=$this->db->query('SELECT `vno`,`Prdtname`,`Qty`,`bundle` FROM purchaseitem WHERE `billdate` >= "$newDate2" AND `billdate` <= "$newDate" ORDER by `vno`')->result_array();

相关问题