【问题标题】:Sql query 'IN ' operator is not work error?sql查询'IN'操作符不工作错误?
【发布时间】:2020-02-03 06:22:00
【问题描述】:

我正在使用 CI 'in'operator is not work sql 错误请检查它并分享有价值的想法...

表格

enter image description here

id   | coach_name
------------------
9    | GS
------------------
10   | SLR 

视图和功能

$coachID = explode(',',$list['coach']);
$coachname = $this->rail_ceil_model->display_coach_name($coachID); 

显示结果

单反

需要结果

GS,单反

最后的查询结果在这里

选择coach_name FROM mcc_coach WHERE id IN('9', '10')

CI 代码

public function display_coach_name($coachID='')
            {
        $db2 = $this->load->database('rail',TRUE);
        $db2->select('coach_name');
        $db2->from('mcc_coach');
        $db2->where_in('id',$coachID);
        $query = $db2->get();
        echo $db2->last_query(); die;

        if ($query->num_rows() > 0):
            //return $query->row()->coach_name;
        else:
            return 0;
        endif;
            }

【问题讨论】:

  • SELECT coach_name FROM mcc_coach WHERE id IN('9','10')
  • 必须是IN ('9','10')
  • 请编辑我的代码并分享给我先生
  • @Amitabhkumar 显示如何为coachID 赋值?这意味着调用display_coach_name()函数之前的代码
  • 您的变量 $coachID 包含字符串 ('9,10')。只要做到 ('9','10')

标签: sql codeigniter


【解决方案1】:

您必须为 in 运算符提供一个数组,因此 #coachId 必须是一个数组而不是字符串

【讨论】:

    【解决方案2】:

    如果你正在编写这个查询

     SELECT coach_name FROM mcc_coach WHERE id IN('9,10')
    

    这意味着您正在对包含逗号分隔值的单个 id 应用 in 运算符。 所以,正确的查询将是

    SELECT coach_name FROM mcc_coach WHERE id IN('9','10')
    

    【讨论】:

    • 但不能正常工作 id best name only 9 id print not 9 and 10 sir?
    • 你能分享 id 9 和 10 的行吗?
    • 我正在分享桌面图片,请查看
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 2010-10-16
    • 1970-01-01
    相关资源
    最近更新 更多