快速入门:使用示例
本页面包含展示数据库类如何使用的示例代码。更多详细信息,请阅读描述各个函数的独立页面。
备注
CodeIgniter 不支持在表名和列名中使用点号(.)。
从 v4.5.0 版本开始,数据库名称支持使用点号。
初始化数据库类
以下代码根据你的 配置 设置加载并初始化数据库类:
<?php
$db = \Config\Database::connect();
加载后,该类即可按以下所述方式使用。
备注
如果你所有的页面都需要数据库访问,你可以自动连接。 详情请参阅 连接数据库 页面。
标准查询(多结果,对象版本)
<?php
$query = $db->query('SELECT name, title, email FROM my_table');
$results = $query->getResult();
foreach ($results as $row) {
echo $row->title;
echo $row->name;
echo $row->email;
}
echo 'Total Results: ' . count($results);
上述
getResult() 函数返回一个 对象 数组。示例:
$row->title标准查询(多结果,数组版本)
<?php
$query = $db->query('SELECT name, title, email FROM my_table');
$results = $query->getResultArray();
foreach ($results as $row) {
echo $row['title'];
echo $row['name'];
echo $row['email'];
}
上述
getResultArray() 函数返回一个关联数组的数组。示例:
$row['title']标准查询(单个结果)
<?php
$query = $db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->getRow();
echo $row->name;
上述 getRow() 函数返回一个 对象。示例:$row->name
标准查询(单个结果,数组版本)
<?php
$query = $db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->getRowArray();
echo $row['name'];
上述 getRowArray() 函数返回一个 关联数组。示例:
$row['name']。
标准插入
<?php
$sql = 'INSERT INTO mytable (title, name) VALUES (' . $db->escape($title) . ', ' . $db->escape($name) . ')';
$db->query($sql);
echo $db->affectedRows();
查询构建器查询
查询构建器 为你提供了一种简化的数据检索方式:
<?php
$query = $db->table('table_name')->get();
foreach ($query->getResult() as $row) {
echo $row->title;
}
上述 get() 函数从指定的表中检索所有结果。查询构建器 类包含一套完整的用于处理数据的函数。
查询构建器插入
<?php
$data = [
'title' => $title,
'name' => $name,
'date' => $date,
];
$db->table('mytable')->insert($data);
// Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')