public function func1()
{
$this->func();
$result1 = $this->result;
foreach ($result1 as $row) {
$this->load->model('test_model');
$this->db->select('name');
$this->db->from('place');
$string = '';
$string = $row[state_name];
$this->db->where('state'=,"$string");
$query = $this->db->get();
return $query->result_array();
}
}
哪里$this->func();
正在获取一个包含名称字符串数组的数组,我使用每个值作为 where
中的条件func1(select)
中的条款。我正在使用A foreach
循环从 func
的结果集中获取每个字符串然后我尝试从func1
中的where子句中选择一个匹配的名称但我遇到了以下错误
A Database Error Occurred
Error Number: 1064
SELECT `name` FROM (`place`) WHERE `state=` 'place1,place2, place3,place4';
来自 foreach
的所有值被附加到同一个查询中,在我的情况下,每次迭代应该只获取一个值并执行 SELECT
查询并返回结果。
最佳答案
你能试试这个吗:
public function func1()
{
$this->func();
$result1 = $this->result;
$data = null; $i=0;
foreach ($result1 as $row) {
$this->load->model('test_model');
$this->db->select('name');
$this->db->from('place');
$string = '';
$string = $row['state_name'];
$this->db->where('state'=,"$string");
$query = $this->db->get();
$query->result_array();
$data[$i] = $query->result_array;
}
return $data;
}
关于php - Codeigniter:从数组附加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20478814/