CodeIgniter配置之database.php用法实例分析
来源:互联网 发布:网络机顶盒 会员 编辑:程序博客网 时间:2024/05/21 17:41
CodeIgniter的数据库配置文件位于application/config/database.php, 该文件中定义了$db的二维数组,参考文件如下:
$active_group = 'default';$active_record = TRUE;$db['default']['hostname'] = 'localhost';$db['default']['username'] = 'root';$db['default']['password'] = '123456';$db['default']['database'] = 'test';$db['default']['dbdriver'] = 'mysql';$db['default']['dbprefix'] = '';$db['default']['pconnect'] = FALSE;$db['default']['db_debug'] = TRUE;$db['default']['cache_on'] = FALSE;$db['default']['cachedir'] = '';$db['default']['char_set'] = 'utf8';$db['default']['dbcollat'] = 'utf8_general_ci';$db['default']['swap_pre'] = '';$db['default']['autoinit'] = TRUE;$db['default']['stricton'] = FALSE;
配置说明
$db数组需要注意的地方
1、port 默认只列出了主机、帐号、密码等,未配置端口号,如果需要特别指定端口号则需要配置该值。
2、pconnect 长连接的问题,值默认为TRUE表示默认使用长连接。长连接的使用需要特别小心,数据库可能会出现大量的sleep的进程而导致更多的请求执行不成功,这里不建议开启长连接。
3、db_debug 为TRUE时SQL执行出错则会直接在错误页面打印,开发环境可以打开,生产环境需关闭。
4、autoinit 是否自动初始化数据库,为true时则$this->load->database()就会连接数据库,否则在查询时连接数据库。CI的类都做了单例,所以不用担心多次链接。
5、stricton 当该值为TRUE时,初始化时会执行这样一条语句,会对不规范的数据,比如字符超过长度、自增主键传入‘’等将会直接抛错。
如何连接多个数据库?
在database.php中:
$active_group = 'default';$active_record = TRUE;$db['default']['hostname'] = 'localhost';$db['default']['username'] = 'root';$db['default']['password'] = '123456';$db['default']['database'] = 'test';$db['default']['dbdriver'] = 'mysql';$db['default']['dbprefix'] = '';$db['default']['pconnect'] = FALSE;$db['default']['db_debug'] = TRUE;$db['default']['cache_on'] = FALSE;$db['default']['cachedir'] = '';$db['default']['char_set'] = 'utf8';$db['default']['dbcollat'] = 'utf8_general_ci';$db['default']['swap_pre'] = '';$db['default']['autoinit'] = TRUE;$db['default']['stricton'] = FALSE;$db['test']['hostname'] = 'localhost';$db['test']['username'] = 'root';$db['test']['password'] = '123456';$db['test']['database'] = 'test';$db['test']['dbdriver'] = 'mysql';$db['test']['dbprefix'] = '';$db['test']['pconnect'] = FALSE;$db['test']['db_debug'] = TRUE;$db['test']['cache_on'] = FALSE;$db['test']['cachedir'] = '';$db['test']['char_set'] = 'utf8';$db['test']['dbcollat'] = 'utf8_general_ci';$db['test']['swap_pre'] = '';$db['test']['autoinit'] = TRUE;$db['test']['stricton'] = FALSE;
在Model层中进行连接:
<?phpclass Model_user extends CI_Model{ public function __construct() { parent::__construct(); $this->load->database('test'); // $this->load->database();//为空时连接得是default } /*登录验证*/ public function check_username($username) { $sql = "SELECT `user_id`,`user_name`,`is_frozen`,`password`,`ec_salt`,`nicheng` FROM ecs_users WHERE mobile_phone='$username' FOR UPDATE "; $query = $this->db->query($sql)->row_array(); return $query; } }
阅读全文
0 0
- CodeIgniter配置之database.php用法实例分析
- CodeIgniter源码分析之CodeIgniter.php
- CodeIgniter源码分析之CodeIgniter.php
- CodeIgniter源码分析之CodeIgniter.php
- codeigniter源代码分析之配置类Config.php
- codeigniter源代码分析之CI系统运行流程 CodeIgniter.php
- CodeIgniter源码分析之index.php
- CodeIgniter源码分析之Common.php
- CodeIgniter源码分析之URI.php
- CodeIgniter源码分析之Router.php
- CodeIgniter源码分析之Exception.php
- CodeIgniter源码分析之Benchmark.php
- CodeIgniter源码分析之Config.php
- CodeIgniter源码分析之Hook.php
- CodeIgniter源码分析之Output.php
- CodeIgniter源码分析之Controller.php
- CodeIgniter源码分析之Model.php
- CodeIgniter源码分析之Loader.php
- 跳表SkipList
- 精品推荐!Nginx的负载均衡max_fails和fail_timeout如何设置?
- SpringBoot与Mybatis集成
- MUI 冷拼盘
- 项目管理心声
- CodeIgniter配置之database.php用法实例分析
- pom.xml Element connectors is not allowed here
- c语言创建写入和读取TXT文件数据
- 使用程序自动登录网站
- bzoj3698 XWW的难题(有源汇有上下界最大流)
- C++函数指针
- java线程同步
- 图片加遮蔽层
- oj 图书管理(list)