好的。看来你知道database.php。会多了解一些的
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost', # host
'username' => '', # Username
'password' => '', # password
'database' => '', # Databse name
'dbdriver' => 'mysqli', # this can be MySQL or MySQLi
注意:推荐使用 MySQLi 作为数据库驱动。
如何连接数据库??
有 3 种存档方式
-
Gobally - (路径 - application/config/autoload.php)
$autoload['libraries'] = array('database');
-
仅限班级内。
class ClassName extends CI_Model
{
public function __construct()
{
parent::__construct();
$this->load->database();
}
}
可以在该类中添加的所有方法中使用
-
仅限Withing 方法。 (主要只在控制器上)
class ClassName extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->database();
}
只能在类内使用
什么是查询生成器 (3.0+) 或 Active Records(3.0-) ??
此模式允许使用最少的脚本在数据库中检索、插入和更新信息。在某些情况下,执行数据库操作只需要一两行代码。 CodeIgniter 不要求每个数据库表都是它自己的类文件。相反,它提供了更简化的界面。
如何使用数据库查询 & (Query Builder or Active Records) ??
上面提到的autoload.php中首先加载DB(个人推荐)。
无论您在模型或控制器中的哪个位置,只需使用 $this->db 即可与您的数据库建立开放连接。
有了它,您可以添加 Query Builder 方法,就像 codeigniter docs 中提到的那样。如果你喜欢使用传统的 SQL 方法,你可以随意使用query()(这是我最喜欢的)。
示例
$this->db->query("SELECT * FROM user WHERE name = 'Sparatn' AND ... OR... ");
但这不足以产生有意义的数据。所以你也必须遵循这些步骤
$query = $this->db->query("SELECT * FROM user WHERE name = 'Sparatn' "); # 1
$result = $query->result_array(); # 2
return $result; #3
在#1中将数据库行数据分配给一个变量。
在 #2 中将#1 转换为目标数组(result_array 目标数组由此表示)。
在 #3 中将结果返回给控制器。