Как отправить мой результат sql в контроллер в codeigniter в качестве переменной - PullRequest
1 голос
/ 01 июня 2010

В моем режиме я выбираю поле как

$query1 = $this->db->query("SELECT dPassword 
                    FROM tbl_login
                    WHERE  dEmailID='a@a.in'");

Как вернуть dpassword как переменную в мой контроллер Я пробовал таким образом return dpassword;

Ответы [ 3 ]

3 голосов
/ 01 июня 2010

Ознакомьтесь с разделом «Результаты запроса» в руководстве по CI. $ query1 установлен на ресурс mysql из выполненного вами запроса. Затем вам нужно вызвать дополнительные функции, чтобы получить данные

http://codeigniter.com/user_guide/database/results.html

$dataArray=$query1->result_array();
return $dataArray["dPassword"];
2 голосов
/ 01 июня 2010

Следующее также хорошо:

if($query1->num_rows() > 0){
    $row = $query1->row();
}
return $row->dPassword;

Тогда, если ваш запрос должен был вернуть более одной строки, вы могли бы обработать результаты следующим образом:

foreach($query1->result() as $row){
echo $row->field1;
echo $row->field2;
echo $row->etcetera;
}

Для результатов с одной строкой я обычно возвращаю строку непосредственно из модели, например:

return $query1->row();

Вот пример этого:

function select_provider_details($provider_id)
    {
        $this->db->select('*');
        $this->db->from('providers');
        $this->db->where('provider_id', $provider_id);

    $query = $this->db->get();

    if($query->num_rows() > 0)
    {
        $result['success'] = TRUE;
        $result['query'] = $query->row();
    }
    else
    {
        $result['success'] = FALSE;
        $result['error'] = "Provider not found in database";
        $result['errorcode'] = "E003";
        $result['query'] = $query->row();
    }
        return $result;
}

Или для запроса, который должен вернуть несколько результатов, я возвращаю весь объект результатов:

return $query1;
1 голос
/ 17 июня 2010

Может быть, вы можете использовать этот лоток.

$query1 = $this->db->query("SELECT dPassword  
                    FROM tbl_login 
                    WHERE  dEmailID='a@a.in'"); 

if($query1){
   // if you are working with objects
   return $query1->result();
   // if you are working with arrays try
   return $query1->result_array();
}else{
   return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...