📜  codeigniter 检查受影响的行 - PHP (1)

📅  最后修改于: 2023-12-03 14:59:58.174000             🧑  作者: Mango

CodeIgniter 检查受影响行数

如果您正在使用 CodeIgniter 框架开发应用程序,您可能需要检查受影响的行数以确保您的代码正确运行。以下是如何在 CodeIgniter 中检查受影响的行数的简单示例:

使用 Active Record

CodeIgniter 的 Active Record 类库提供了一个内置函数 affected_rows(),它返回最新执行的 SQL 语句所影响的行数。

$this->db->where('id', $id);
$this->db->delete('mytable');

if ($this->db->affected_rows() > 0) {
    echo '删除成功!';
} else {
    echo '删除失败!';
}

在上面的示例中,我们使用 Active Record 删除表中的一条记录,并检查受影响的行数。如果行数大于 0,则删除操作成功完成。

使用 Query Builder

如果您不使用 Active Record,而是使用 Query Builder 进行查询,可以在执行查询后使用 affected_rows() 函数。

$this->db->delete('mytable', array('id' => $id));

if ($this->db->affected_rows() > 0) {
    echo '删除成功!';
} else {
    echo '删除失败!';
}

在上面的示例中,我们使用 Query Builder 删除表中的一条记录,并检查受影响的行数。如果行数大于 0,则删除操作成功完成。

使用原生 SQL 查询

如果您使用原生 SQL 查询,可以使用 mysqli_affected_rows() 函数检查受影响的行数。请注意,mysqli_affected_rows() 函数必须在最新的 MySQL 查询后调用。

$query = "DELETE FROM mytable WHERE id = $id";

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

if ($this->db->mysqli_affected_rows() > 0) {
    echo '删除成功!';
} else {
    echo '删除失败!';
}

在上面的示例中,我们使用原生 SQL 查询删除表中的一条记录,并检查受影响的行数。如果行数大于 0,则删除操作成功完成。

结论

在 CodeIgniter 中,您可以使用 Active Record、Query Builder 或原生 SQL 查询来检查受影响的行数。CodeIgniter 的内置函数 affected_rows()mysqli_affected_rows() 在检查受影响的行数方面非常有用,可以轻松地完成此任务。