Скажем, у меня есть таблица базы данных с тремя столбцами: ID, Name и Age. Мне нужно найти пользователя с определенным (уникальным) идентификатором, а затем вернуть возраст. В настоящее время я использую следующий код
$this->db->where('id', '3'); $q = $this->db->get('my_users_table');
Как мне получить возраст для этого пользователя? Я думаю, что мне нужно использовать
$q->result()
Но не уверен, как использовать его с одной строкой.
РЕШЕНИЕ ОДИН
$this->db->where('id', '3'); // here we select every column of the table $q = $this->db->get('my_users_table'); $data = $q->result_array(); echo($data[0]['age']);
РЕШЕНИЕ ДВА
// here we select just the age column $this->db->select('age'); $this->db->where('id', '3'); $q = $this->db->get('my_users_table'); $data = $q->result_array(); echo($data[0]['age']);
РЕШЕНИЕ ТРЕТЬЯ
$this->db->select('age'); $this->db->where('id', '3'); $q = $this->db->get('my_users_table'); // if id is unique, we want to return just one row $data = array_shift($q->result_array()); echo($data['age']);
РЕШЕНИЕ ЧЕТВЕРТЫЙ (без АКТИВНОГО ЗАПИСИ)
$q = $this->db->query('SELECT age FROM my_users_table WHERE id = ?',array(3)); $data = array_shift($q->result_array()); echo($data['age']);
вы можете использовать row () вместо result ().
$this->db->where('id', '3'); $q = $this->db->get('my_users_table')->row();
Доступ к одной строке
//Result as an Object $result = $this->db->select('age')->from('my_users_table')->where('id', '3')->limit(1)->get()->row(); echo $result->age; //Result as an Array $result = $this->db->select('age')->from('my_users_table')->where('id', '3')->limit(1)->get()->row_array(); echo $result['age'];
Вы просто используете это в одной строке.
$query = $this->db->get_where('mytable',array('id'=>'3'));
Если вы динамически получаете свои данные, например, когда вам нужны данные на основе пользователя, зарегистрированного по их использованию, рассмотрите следующий пример кода для Нет активной записи:
$this->db->query('SELECT * FROM my_users_table WHERE id = ?', $this->session->userdata('id')); return $query->row_array();
Это вернет определенную строку на основе ваших заданных данных сеанса пользователя.