在Codeigniter上查询php

问题描述 投票:0回答:5

当我使用codeigniter时,我无法在php中使用我的查询。我认为这一切都还可以,但我的代码不起作用。这有什么不对?

我需要面对两个参数。

我有一张桌子,我需要colonn3

楷模:

    function get_colonn3($data){
        $this->db->select("table.colonn3");
        $this->db->where("table.colonn3",$data);
        return $this->db->get("table.colonn3")->result_array();

控制器:

$colonn3_exsist = $this->my_model->get_colonn3($data)

if($colonn3_exsist):
echo "ok";
endif;
php mysql codeigniter
5个回答
0
投票

从get()中删除table.colon3,也许它会起作用

return $this->db->get()->result_array();

0
投票

我相信是因为你将表名传递给where语句而且它需要一个列。

CodeIgniter where documentation

function get_colonn3($data) {
    $this->db->select("table.colonn3");

    $this->db->where("colonn3", $data);

    return $this->db->get("table")->result_array();
}

它们还允许您将数组传递给where参数:

function get_colonn3($data) {
    $this->db->select("table.colonn3");

    $this->db->where([
        "colonn3" => $data
    ]);

    return $this->db->get("table")->result_array();
}

CI还允许您链接DB函数,如下所示:

function get_colonn3($data) {
    $this->db->select("table.colonn3")
        ->where([
            "colonn3" => $data
        ]);

    return $this->db->get("table")->result_array();
}

0
投票

试试这个:

//模型

function get_colonn3($data){
        $this->db->select("colonn3");
        $this->db->where("colonn3",$data);
 return $this->db->get("table")->result_array();

//控制器

$colonn3_exsist = $this->my_model->get_colonn3($data)
if($colonn3_exsist>0){
echo"ok";
}

0
投票

您正以错误的方式将值传递给WHERE。您必须传递数组中的值而不传递表名。

如果要从Database中有多个参数进行比较,则必须像这样在WHERE子句中传递数组:

function get_colonn3($para1,$para2){
  $this->db->select("table.colonn3");
  $this->db->where(['columnname1' => $para1, 'columnname2' => $para2]);
  return $this->db->get("table.colonn3")->result_array();
}

如果您只有一个参数可供比较,那么您可以使用:

function get_colonn3($para1){
      $this->db->select("table.colonn3");
      $this->db->where('columnname1',$para1);
      return $this->db->get("table.colonn3")->result_array();
    }

0
投票

模型

 function get_colonn3($data){
   return $this->db->select("table.colonn3 as col3")->from('table')->where(['table.colonn3' => $data])->get()->row()->col3;
}

调节器

$colonn3 = $this->my_model->get_colonn3($data)

if(!empty($colonn3)):
  echo "ok"; 
endif;
© www.soinside.com 2019 - 2024. All rights reserved.