📜  codeigniter 查询结果 - PHP (1)

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

CodeIgniter查询结果 - PHP

在CodeIgniter中查询数据库并返回结果是很常见的任务,本文将介绍如何使用CodeIgniter的查询构建器来查询数据库并返回结果。

连接数据库

在开始查询之前,需要连接到数据库。在CodeIgniter中,可以使用其自带的Database类来连接数据库。只需在application/config/database.php文件中提供正确的数据库配置,CodeIgniter将自动连接数据库。

$config['hostname'] = 'localhost';
$config['username'] = 'db_username';
$config['password'] = 'db_password';
$config['database'] = 'db_name';
$config['dbdriver'] = 'mysqli';
$config['charset'] = 'utf8mb4';
$config['dbcollat'] = 'utf8mb4_general_ci';
查询构建器

CodeIgniter的查询构建器是一个轻量级的封装器,使查询数据库变得更加容易。可以很容易地创建一个查询并添加条件、限制、排序等。

基本查询

以下是一个基本的查询,它从users表中选择所有行。

$this->db->select('*');
$this->db->from('users');
$query = $this->db->get();

这将执行以下SQL查询:

SELECT * FROM users
条件查询

可以使用where()方法向查询中添加条件。以下是一个例子,它从users表中选择名为John的用户。

$this->db->select('*');
$this->db->from('users');
$this->db->where('name', 'John');
$query = $this->db->get();

这将执行以下SQL查询:

SELECT * FROM users WHERE name = 'John'

还可以使用where_in()where_not_in()like()等方法来添加其他类型的条件。

加入查询

可以使用join()方法将多个表连接在一起。以下是一个例子,它连接了users表和orders表,然后选择带有订单的用户信息。

$this->db->select('*');
$this->db->from('users');
$this->db->join('orders', 'users.id = orders.user_id', 'left');
$query = $this->db->get();

这将执行以下SQL查询:

SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id
limit和offset

可以使用limit()offset()方法来添加限制和偏移量。以下是一个例子,它从users表中选择前5个结果。

$this->db->select('*');
$this->db->from('users');
$this->db->limit(5);
$query = $this->db->get();

这将执行以下SQL查询:

SELECT * FROM users LIMIT 5
查询结果

一旦运行了查询,就可以通过result()方法来获取结果。以下是一个例子,它从users表中选择所有行,并输出它们的名称。

$this->db->select('*');
$this->db->from('users');
$query = $this->db->get();
foreach ($query->result() as $row)
{
    echo $row->name;
}

可以使用result_array()方法获取一个数组形式的结果。

$this->db->select('*');
$this->db->from('users');
$query = $this->db->get();
$result_array = $query->result_array();
结论

在CodeIgniter中查询数据库并返回结果非常容易。使用查询构建器可以轻松地创建查询,并且可以轻松地处理结果。