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)
. Я использую foreach
цикл, чтобы получить каждую строку из результирующего набора из func
и позже я пытаюсь выбрать имя из согласованного где положение в func1
, но я получаю ошибку нижеCodeigniter: стоимость получения добавляется из массива
A Database Error Occurred
Error Number: 1064
SELECT `name` FROM (`place`) WHERE `state=` 'place1,place2, place3,place4';
все значения от foreach
добавляется к одному и тому же запросу, где в моем случае каждая итерация должна извлекать только одно значение и выполнять запрос SELECT
и возвращать результат.
'$ this-> db-> где ('состояние' = "$ строка");' является то, что опечатка? поскольку '=' находится за пределами '' state''. Существует также опечатка здесь '$ string = $ row [state_name];' если 'state_name' не является константой? – SamV
'$ this-> db-> где ('state'," $ string ");' remove '=' – Noor
Кроме того, я предполагаю, что $ this-> func не возвращает массив значений, а все добавленные значения , проверьте ваш func(), чтобы узнать, что он возвращает, и исправьте свое утверждение, упомянутое Noor – user2844810