2016-01-12 3 views
1

У меня есть проект в CodeIgniter 2.0 и я использовал:Как проверить запрос в CodeIgniter 3.0.3 (удалить, обновить, выбрать, вставить)?

$query = $this->db->query('select * FROM my_table'); 

if($query->num_rows()==1) return true; else return false; 

Но в CodeIgniter 3.0.3 я не знаю, как проверить (обновление, выберите, вставка, удаление ...).

+0

читать [manuall] (http://www.codeigniter.com/user_guide/database/query_builder.html # select-data) – Saty

+0

проверить мои обновленные ans –

ответ

0

Из Руководства пользователя Cogidignitor 3:

Для Select:

Число строк, возвращаемых запросом. Примечание: В этом примере, $ запрос переменная, объект результата запроса присваивается:

$query = $this->db->query('SELECT * FROM my_table'); 
if($query->num_rows() > 0){ 
    return true; 
} 
else{ 
    return false; 
} 

Для UPDATE & INSERT отчетности:

$this->db->affected_rows() 

Отображает количество изменяемых строк , при выполнении запросов типа «запись» (вставка, обновление и т. д.).

Пример:

$this->db->update('UPDATE statement'); 
$this->db->affected_rows(); 

$this->db->insert('INSERT statement'); 
$this->db->affected_rows(); 

Альтернативные ВСТАВКА:

Вы также можете использовать последнюю вставку идентификатора, как, как:

$this->db->insert('INSERT statement'); 
$id = $this->db->insert_id(); 

if($id > 0){ 
    return true; 
} 
else{ 
return false; 
} 

Для Delete:

УДАЛЕНИЕ всегда возвращают истинное в результате, если запрос выполняется еще ложь, affected_rows также будет возвращать тот же:

$this->db->delete('DELETE statement'); 

if($this->db->affected_rows()){ 
    return true; 
} 
else{ 
    return false; 
} 
+1

, пожалуйста, оставьте некоторые комментарии downvoter ... поможет улучшить – devpro

0
$query = $this->db->query("SELECT * FROM my_table"); 
$dataSet = array(); 
if ($query->num_rows() > 0) 
{ 
    $dataSet = $query->result(); 
} 

print_r($dataSet); 
1

для вставки, обновления

$this->db->affected_rows(); Показывает количество задействованных рядов, когда

делать «запись» запросы типа (вставка, обновление и т.д.).

if ($this->db->affected_rows() > 0) 
    { 
    return TRUE; 
    } 
    else 
    { 
    return FALSE; 
    } 

для выбора

делать «выберите» запросы типа (вставка, обновление и т.д.).

if ($query->num_rows() > 0) 
    { 
     $dataSet = $query->result(); 
    } 

для удаления

$res = $this->a_model->delete_product($id); // example delete 

if($res == FALSE) 
{ 
}else 
{ 
} 
+0

Будет ли обновление или удаление всегда предоставлять результат 'affected_rows()' из 1? Если это так, там должна быть ошибка, так как несколько строк могут быть обновлены или удалены запросом, и вы хотите, чтобы результат 'affected_rows()' был отражен в этом – gabe3886

+0

. Простите, что моя ошибка проверена. Обновлено ans –

+0

@ gabe3886 affected_rows () верните, сколько строк обновлено или вставлено .... у меня есть обновленный ответ, спасибо –

Смежные вопросы