0
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();
    }

}

where $this->func(); is getting an array containing an array of strings of names and I am using each value as condition in where clause in func1(select). I'm using A foreach loop to get each string from resultset of func and later on I'm trying to select a name matched from where clause in func1 but I am getting below error

A Database Error Occurred
    Error Number: 1064
    SELECT `name` FROM (`place`) WHERE `state=` 'place1,place2, place3,place4';

all the values from foreach is getting appended to the same query , where in my case each iteration should have fetched only one value and executed the SELECT query and returned the result.

3
  • 1
    $this->db->where('state'=,"$string"); is that a typo? as the = is outside of 'state'. There is also a typo here $string = $row[state_name]; unless state_name is a constant? Commented Dec 9, 2013 at 19:32
  • $this->db->where('state',"$string"); remove = Commented Dec 9, 2013 at 19:37
  • Also, I'm guessing $this->func is not returning an array of values but all the values appended, check your func() to see what it returns, and correct your where statement as mentioned by Noor Commented Dec 9, 2013 at 19:42

1 Answer 1

1

Could you try this:

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;

}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.