📅  最后修改于: 2023-12-03 14:40:08.438000             🧑  作者: Mango
在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()
方法来添加限制和偏移量。以下是一个例子,它从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中查询数据库并返回结果非常容易。使用查询构建器可以轻松地创建查询,并且可以轻松地处理结果。