Codeigniter 从 table 中删除记录,其中 page_id 和 user_id

Codeigniter delete record from table where page_id and user_id

我有一个数据库,用户可以创建多个页面,如下图所示。

我正在使用 codeigniter MVC,我想允许用户删除他们的页面。

因此,如果 page_id = 1user_id =1 传递用于删除,则只有 table 中 user_id=1 和 page_id = 1 的行应该删除。

到目前为止,这是我的 model_page.php 代码,但是 user_id 1 的所有页面正在删除

function delete_user_page($user_id, $page_id){

    $query = $this->db->where('user_id', $user_id and 'page_id', $page_id);
    return $this->db->delete('mysql_table');

}     

谢谢

function delete_user_page($user_id, $page_id){
    $cond  = ['user_id' => $user_id, 'page_id' => $page_id];
    $query = $this->db->where($cond);
    return $this->db->delete('mysql_table');
} 

逻辑是我们需要将所有参数列表做成一个数组。

可以使用关联数组的方法::

function delete_user_page($user_id, $page_id)
{
    $where_cond = ['user_id' => $user_id, 'page_id' => $page_id];
    return $this->db->delete('mysql_table', $where_cond);
}
// DELETE FROM mysql_table WHERE user_id = $id AND page_id = $page_id

正在查找特定数据: https://www.codeigniter.com/userguide3/database/query_builder.html#looking-for-specific-data

正在删除数据: https://www.codeigniter.com/userguide3/database/query_builder.html#deleting-data

你可以试试

$sql = "DELETE FROM mysql_table WHERE user_id = ? AND page_id = ?";
$this->db->query($sql, array($user_id, $page_id));

$this->db->delete('mysql_table', array('user_id' => $user_id,'page_id' => $user_id));