📜  Codeigniter 中的数据库连接和查询(1)

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

Codeigniter中的数据库连接和查询

Codeigniter是一款流行的PHP框架,它提供了很多方便的工具和类,使得开发者能够更快速和方便地开发Web应用程序。本文将介绍Codeigniter中的数据库连接和查询,让我们开始吧!

连接数据库

在Codeigniter中连接数据库非常简单,只需要修改config/database.php配置文件即可。首先,我们需要选择要使用的数据库引擎,比如MySQL、SQLite等。修改$db['default']['dbdriver']配置项即可:

$db['default'] = array(
    ...
    'dbdriver' => 'mysqli', // 选择MySQL数据库引擎
    ...
);

接着,我们需要指定数据库的主机名、用户名、密码、以及数据库名称等信息。这些信息可以修改以下配置项:

$db['default'] = array(
    ...
    'hostname' => 'localhost', // 数据库主机名
    'username' => 'root',      // 数据库用户名
    'password' => '123456',    // 数据库密码
    'database' => 'mydb',      // 数据库名称
    ...
);

最后,我们需要指定连接字符集、连接时区等信息,这些信息也可以修改config/database.php配置文件中的相应配置项。

$db['default'] = array(
    ...
    'char_set' => 'utf8mb4',   // 连接字符集
    'dbcollat' => 'utf8mb4_general_ci', // 连接时区
    ...
);

到此为止,我们已经成功连接上了MySQL数据库。如果你使用的是其他数据库引擎,只需要相应地修改config/database.php配置文件即可。

查询数据库

在Codeigniter中,我们使用Active Record(活动记录)进行数据库查询。Active Record是一种面向对象的数据库查询方式,利用了类和方法的思维方式,方便了开发者的查询操作。下面让我们来一步步学习如何使用Active Record进行数据库查询。

首先,我们需要载入数据库类,并获取数据库实例对象。

// 载入数据库类
$this->load->database();
// 获取数据库实例对象
$db = $this->db;

接着,我们可以利用实例对象进行数据库查询了。以下是一些常用的查询方式:

查询所有记录

我们可以使用get()方法查询所有记录,该方法返回查询结果集的对象。例如,以下代码查询users表中的所有记录并将其以数组形式输出:

$query = $db->get('users');
$results = $query->result_array();
print_r($results);
查询单条记录

我们可以使用where()方法指定查询条件,并使用get()方法查询单条记录,该方法返回查询结果集的对象。例如,以下代码查询users表中ID为1的记录并将其以数组形式输出:

$query = $db->where('id', 1)->get('users');
$result = $query->row_array();
print_r($result);
插入记录

我们可以使用insert()方法向数据库中插入记录。例如,以下代码向users表中插入一条记录:

$data = array(
    'username' => 'john',
    'email' => 'john@example.com',
    'password' => 'secret'
);
$db->insert('users', $data);
更新记录

我们可以使用update()方法更新数据库中的记录。例如,以下代码更新users表中ID为1的记录:

$data = array(
    'username' => 'smith',
    'email' => 'smith@example.com',
    'password' => 'newsecret'
);
$db->where('id', 1)->update('users', $data);
删除记录

我们可以使用delete()方法删除数据库中的记录。例如,以下代码删除users表中ID为1的记录:

$db->where('id', 1)->delete('users');

以上是一些常用的数据库查询方式,还有一些高级的查询方式,例如利用Active Record进行关联表查询、事务处理等操作,在此不再赘述。需要注意的是,在进行数据库操作时,我们需要谨慎处理用户输入数据,以免被黑客攻击。

总结

本文介绍了Codeigniter中的数据库连接和查询,学习了如何连接数据库和使用Active Record进行数据库查询。Codeigniter提供了比较方便的操作方式,使得我们能够快速地进行数据库操作,大大提高了开发效率。希望读者能够通过本文对Codeigniter的数据库连接和查询有所了解,开发更好的Web应用程序。