1

私のcodeigniter PHPモデルでは

if  ($this->input->post('questions') != "")
        {
            if($this->input->post('questions') == "Yes")
            {
                $this->db->where('webinar_event.questions !=',"");
                $this->db->where('webinar_event.questions IS NOT ', null, false);
            }
            else
            {
                $this->db->where('webinar_event.questions',"");
                $this->db->where('webinar_event.questions IS', null, true);
            }

しかし、実行する echo $this->db->last_query();と、このエラーが発生します

'Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5

SELECT * FROM (`health_professional`) JOIN `webinar_event` ON `webinar_event`.`hpid` = `health_professional`.`hpid` WHERE `webinar_event`.`questions` = '' AND `webinar_event`.`questions` IS

Filename: D:\Development\PfizerWebinar\web\system\database\DB_driver.php

Line Number: 330'  

基本的に私がやろうとしているのは、「did ask question」を検索するとnullではないものを取得し、質問をしたかどうかを検索したい場合はnullではないすべてのものを表示することです。

4

2 に答える 2

1
    Try this 


      if  ($this->input->post('questions') != "")
      {
        if($this->input->post('questions') == "Yes")
        {
            $this->db->where('webinar_event.questions !=',"");
            $this->db->where('webinar_event.questions IS NOT NULL', null, false);
        }
        else
        {
            $this->db->where('webinar_event.questions',"");
            $this->db->where('webinar_event.questions IS NULL', null, true);
        }
      }
于 2013-05-09T10:17:12.627 に答える
0
if(!empty($var)){
  //do stuff
}

ここでは、変数が空でないかどうかを確認します。または次を使用できます。

if(isset($var)){
 //do stuff
}

これは、変数が設定されているかどうかをチェックします。また:

if(is_null($var)){

}else{
  //do stuff
}

どちらを好むか、または isset と !empty の組み合わせが通常私が求めるものです。

于 2013-05-09T10:20:39.517 に答える