Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将选择传递到代码点火器中的位置_Mysql_Codeigniter - Fatal编程技术网

Mysql 将选择传递到代码点火器中的位置

Mysql 将选择传递到代码点火器中的位置,mysql,codeigniter,Mysql,Codeigniter,我正在尝试选择ID,并使用此命令将其传递到更新中 $query = $this->db->query("SELECT GROUP_CONCAT(a.sponsor_id) as sponstr FROM (select sponsor_id from sponsor WHERE (pay_success = 'yes')AND (end_date_time > NOW()) and ((country_id = 1 and state_id = 24) or city_id

我正在尝试选择ID,并使用此命令将其传递到更新中

$query = $this->db->query("SELECT GROUP_CONCAT(a.sponsor_id) as sponstr FROM (select sponsor_id from sponsor  WHERE (pay_success = 'yes')AND (end_date_time > NOW()) and ((country_id = 1 and state_id = 24) or city_id = 123)
order by rand() limit 0,10) a");

    if($query->num_rows()>0)
    {
     foreach($query->result() as $sponsorids)
     {

        $data['se_count'] = 0;
        $this->db->where_in('sponsor_id',$sponsorids->sponstr);
        $this->db->update('sponsor',$data);

     }
     }
但是所有的ID都不会更新,只有第一个会更新

where_in生成下面的代码

 WHERE sponsor_id IN ('5,4,2,3,1')
我想应该是这样的

  WHERE sponsor_id IN (5,4,2,3,1)

我是不是错过了什么,或者我做错了什么,很明显我知道我是错的。请帮助

您应该在那里传递一个数组。所以,不要传递$sponsorids->sponstr,而是分解',',$sponsorids->sponstr


另外,这似乎是一个糟糕的DB设计决策,花些时间看看多对多概念

您应该在那里传递一个数组。所以,不要传递$sponsorids->sponstr,而是分解',',$sponsorids->sponstr

此外,这似乎是一个糟糕的数据库设计决策,花些时间看看多对多的概念