Table of Contents
初始化数据库类
以对象形式返回查询结果
以数组形式返回查询结果
返回一条数据
插入(insert)数据
数据库配置
Active Record
Home php教程 php手册 CodeIgniter自带的数据库类使用介绍

CodeIgniter自带的数据库类使用介绍

Jun 13, 2016 am 09:39 AM
codeigniter

在 CodeIgniter 中,使用数据库是非常频繁的事情。你可以使用框架自带的数据库类,就能便捷地进行数据库操作。

初始化数据库类

依据你的数据库配置载入并初始化数据库类:

$this->load->database();
Copy after login

被载入之后你可以在任何地方使用它。

以对象形式返回查询结果

$query = $this->db->query('SELECT name, title, email FROM my_table');

foreach ($query->result() as $row)
{
    echo $row->title;
    echo $row->name;
    echo $row->email;
}

echo 'Total Results: ' . $query->num_rows();
Copy after login

上面的result()函数返回一个对象的数组。例如:$row->title

以数组形式返回查询结果

$query = $this->db->query('SELECT name, title, email FROM my_table');

foreach ($query->result_array() as $row)
{
    echo $row['title'];
    echo $row['name'];
    echo $row['email'];
}
Copy after login

上面的result_array()函数返回一个带下标的数组。例如:$row['title']

返回一条数据

对象形式:

$query = $this->db->query('SELECT name FROM my_table LIMIT 1');

$row = $query->row();
echo $row->name;
Copy after login

上面的row()函数返回一个 对象。例如:$row->name

数组形式:

$query = $this->db->query('SELECT name FROM my_table LIMIT 1');

$row = $query->row_array();
echo $row['name'];
Copy after login

上面的row_array()函数返回一个 数组。例如:$row['name']

插入(insert)数据

$sql = "INSERT INTO mytable (title, name) 
        VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";

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

echo $this->db->affected_rows();
Copy after login

快捷插入方式:

$data = array(
               'title' => $title,
               'name' => $name,
               'date' => $date
            );

$this->db->insert('mytable', $data); 

// Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')
Copy after login

数据库配置

CodeIgniter 有一个配置文件让你存放数据库连接值(username:用户名,password:密码,database name:数据库名,等等..). 配置文件位于以下路径:application/config/database.php

配件文件存放在一个如下格式的一个多维数组里:

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "database_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
Copy after login

使用多维数组的原因是为了让你随意的存储多个连接值的设置。举例:如果你运行多个环境(development:开发、production:制作、test:测试 等等..),你能为每个环境建立独立的连接组,并在组直接进行切换。举例,设置一个"test"环境,你可以这样做:

$db['test']['hostname'] = "localhost";
$db['test']['username'] = "root";
$db['test']['password'] = "";
$db['test']['database'] = "database_name";
$db['test']['dbdriver'] = "mysql";
$db['test']['dbprefix'] = "";
$db['test']['pconnect'] = TRUE;
$db['test']['db_debug'] = FALSE;
$db['test']['cache_on'] = FALSE;
$db['test']['cachedir'] = "";
$db['test']['char_set'] = "utf8";
$db['test']['dbcollat'] = "utf8_general_ci";
Copy after login

那么,告诉系统使用"test"组,你可以设置位于配置文件中的变量:

$active_group = "test";
Copy after login

注意: "test"的名字是任意的,这可以让你自由设置,我们的主要连接默认使用"default"这个名字,当然,您可以基于您的项目为它起一个更有意义的名字。

Active Record

Active Record 类 可以通过数据库配置文件里的$active_record变量进行全局的设定(允许/禁止 TRUE/FALSE (boolean)). 如果你不用这个类,哪么你可以通过将这个变量值设置成FALSE来减少在数据库类初始化时对电脑资源的消耗。 $active_record = TRUE;

注意: 一些CodeIgniter的类,例如Sessions,在执行一些函数的时候需要Active Records的支持。

参数解析:

  • hostname - 数据库的主机名,通常位于本机,可以表示为 "localhost". 
  • username - 需要连接到数据库的用户名. 
  • password - 登陆数据库的密码. 
  • database - 你需要连接的数据库名. 
  • dbdriver - 数据库类型。如:mysql、postgres、odbc 等。必须为小写字母。 
  • dbprefix - 当运行Active Record查询时数据表的前缀,它允许在一个数据库上安装多个CodeIgniter程序. 
  • pconnect - TRUE/FALSE (boolean) - 使用持续连接. 
  • db_debug - TRUE/FALSE (boolean) - 显示数据库错误信息. 
  • cache_on - TRUE/FALSE (boolean) - 数据库查询缓存是否开启,详情请见数据库缓存类。 
  • cachedir - 数据库查询缓存目录所在的服务器绝对路径。 
  • char_set - 与数据库通信时所使用的字符集。 
  • dbcollat - 与数据库通信时所使用的字符规则(character collation )。 
  • port - 数据库端口号. 当前只用于 Postgres 驱动程序. 要使用这个值,你应该添加一行代码到数据库配置数组。

记录一下,方便查阅。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to implement custom middleware in CodeIgniter How to implement custom middleware in CodeIgniter Jul 29, 2023 am 10:53 AM

How to implement custom middleware in CodeIgniter Introduction: In modern web development, middleware plays a vital role in applications. They can be used to perform some shared processing logic before or after the request reaches the controller. CodeIgniter, as a popular PHP framework, also supports the use of middleware. This article will introduce how to implement custom middleware in CodeIgniter and provide a simple code example. Middleware overview: Middleware is a kind of request

CodeIgniter middleware: Accelerate application responsiveness and page rendering CodeIgniter middleware: Accelerate application responsiveness and page rendering Jul 28, 2023 pm 06:51 PM

CodeIgniter Middleware: Accelerating Application Responsiveness and Page Rendering Overview: As web applications continue to grow in complexity and interactivity, developers need to use more efficient and scalable solutions to improve application performance and responsiveness. . CodeIgniter (CI) is a lightweight PHP-based framework that provides many useful features, one of which is middleware. Middleware is a series of tasks that are performed before or after the request reaches the controller. This article will introduce how to use

How to use the database query builder (Query Builder) in the CodeIgniter framework How to use the database query builder (Query Builder) in the CodeIgniter framework Jul 28, 2023 pm 11:13 PM

Introduction to the method of using the database query builder (QueryBuilder) in the CodeIgniter framework: CodeIgniter is a lightweight PHP framework that provides many powerful tools and libraries to facilitate developers in web application development. One of the most impressive features is the database query builder (QueryBuilder), which provides a concise and powerful way to build and execute database query statements. This article will introduce how to use Co

Use PHP framework CodeIgniter to develop a real-time chat application to provide convenient communication services Use PHP framework CodeIgniter to develop a real-time chat application to provide convenient communication services Jun 27, 2023 pm 02:49 PM

With the development of mobile Internet, instant messaging has become more and more important and popular. For many companies, live chat is more like a communication service, providing a convenient communication method that can quickly and effectively solve business problems. Based on this, this article will introduce how to use the PHP framework CodeIgniter to develop a real-time chat application. Understand the CodeIgniter framework CodeIgniter is a lightweight PHP framework that provides a series of simple tools and libraries to help developers quickly

CodeIgniter middleware: Provides secure file upload and download functions CodeIgniter middleware: Provides secure file upload and download functions Aug 01, 2023 pm 03:01 PM

CodeIgniter middleware: Provides secure file upload and download functions Introduction: In the process of web application development, file upload and download are very common functions. However, for security reasons, handling file uploads and downloads often requires additional security measures. CodeIgniter is a popular PHP framework that provides a wealth of tools and libraries to support developers in building secure and reliable web applications. This article will introduce how to use CodeIgniter middleware to implement secure files

PHP development: Using CodeIgniter to implement MVC pattern and RESTful API PHP development: Using CodeIgniter to implement MVC pattern and RESTful API Jun 16, 2023 am 08:09 AM

As web applications continue to evolve, it is important to develop applications more quickly and efficiently. And, as RESTful API is widely used in web applications, it is necessary for developers to understand how to create and implement RESTful API. In this article, we will discuss how to implement MVC pattern and RESTful API using CodeIgniter framework. Introduction to MVC pattern MVC (Model-Vie

How to use CodeIgniter5 framework in php? How to use CodeIgniter5 framework in php? Jun 01, 2023 am 11:21 AM

CodeIgniter is a lightweight PHP framework that uses MVC architecture to support rapid development and simplify common tasks. CodeIgniter5 is the latest version of the framework and offers many new features and improvements. This article will introduce how to use the CodeIgniter5 framework to build a simple web application. Step 1: Install CodeIgniter5 Downloading and installing CodeIgniter5 is very simple, just follow these steps: Download the latest version

How does php use CodeIgniter\Config for configuration management? How does php use CodeIgniter\Config for configuration management? Jun 02, 2023 pm 06:01 PM

1. Introduction to CodeIgniter CodeIgniter is a lightweight and comprehensive PHP development framework designed to provide web developers with fast and powerful tools to build web applications. It is an open source framework that uses the MVC architecture pattern to achieve rapid development and basic functions, while supporting a variety of databases. 2. Introduction to the Config library The Config library is a component in the CodeIgniter framework and is used to configure and manage code. The Config library contains many

See all articles