📅  最后修改于: 2023-12-03 14:40:08.375000             🧑  作者: Mango
CodeIgniter 是一个基于 PHP 的开源 Web 应用框架,它使得开发者能够快速构建出高效、安全和可靠性强的 Web 应用。在 CodeIgniter 的开发中使用数据库交互是非常常见的需求,本文将介绍 CodeIgniter 中的数据库交互。
在 CodeIgniter 中,数据库配置文件为 “application/config/database.php” 文件。在这个文件中,你需要配置数据库的主机地址、数据库名称、数据库用户名、密码和其他配置项(例如字符集、数据库驱动、缓存选择器等)。这是一个典型的数据库配置文件的范例:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'myusername',
'password' => 'mypassword',
'database' => 'mydatabase',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
在 CodeIgniter 中,要连接数据库只需要使用以下语句:
$this->load->database();
当你调用上述语句时,CodeIgniter 将会自动从数据库配置文件(application/config/database.php)获取数据库连接信息,然后进行数据库连接。从这一点来说,CodeIgniter 的处理方式与其他 PHP 框架非常相似。
一旦你成功连接数据库,你就可以使用 CodeIgniter 的查询构建器执行任意的查询。这些查询可以采用链式结构构建,你也可以使用 CodeIgniter 提供的所有查询构造器。这里是一个示例:
$query = $this->db->select('title')
->from('BlogPosts')
->where('category', 'codeigniter')
->get();
$results = $query->result_array();
上述代码的作用是从名为 “BlogPosts” 的表中选择所有标题,其中分类为 “codeigniter”的文章,并将结果返回为关联数组。
你也可以使用 CodeIgniter 执行存储过程。以下是一个示例:
$this->db->query('CALL my_stored_procedure(?,?,?)', array($arg1, $arg2, $arg3));
上述代码的作用是调用名为 “my_stored_procedure”的存储过程,并将三个参数传递给它。
CodeIgniter 还支持事务处理,这是一种非常有用的机制,当你需要在一个或多个数据库执行操作时,任何一个操作失败时,可以回滚整个操作。以下是一个示例:
$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->trans_complete();
if ($this->db->trans_status() === FALSE) {
// rollback if something went wrong
$this->db->trans_rollback();
} else {
// commit if everything went well
$this->db->trans_commit();
}
上述代码的作用是在数据库中执行两个查询,如果有一个查询失败,事务将会回滚从而保证操作的 一致性与正确性。
CodeIgniter 对于数据库交互提供了强大的支持。通过配置文件,你可以指定连接到不同的数据库环境,如开发、测试和生产。你还可以使用查询构建器执行查询、存储过程和事务处理等操作。这些功能让 CodeIgniter 在与数据库交互时变得非常灵活,也使得它成为一个流行的 PHP 框架之一。