繁体   English   中英

如何在CodeIgniter 3.0.3中检查查询(删除,更新,选择,插入)?

[英]How to check a query in CodeIgniter 3.0.3 (delete,update,select,insert)?

我在codeigniter 2.0中有一个项目,我使用过:

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

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

但是在codeigniter 3.0.3中,我不知道如何检查(更新,选择,插入,删除...)。

用于插入,更新

$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
{
}
$query = $this->db->query("SELECT * FROM my_table");
$dataSet = array();
if ($query->num_rows() > 0)
{
   $dataSet = $query->result();
}

print_r($dataSet);

来自《 Cogidignitor用户指南》 3:

对于选择:

查询返回的行数。 注意:在此示例中,$ query是查询结果对象分配给的变量:

$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();

替代INSERT:

您还可以使用最后一个插入ID,例如:

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

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

对于删除:

如果查询执行否则DELETE总是返回结果为true,否则返回false,受影响的行也将返回相同的结果:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM