thinkphp连接数据库的设置

admin 2014年12月31日 PHP学习 1181次阅读 查看评论

ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。目前的数据库包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括对PDO的支持。

如果应用需要使用数据库,必须配置数据库连接信息,数据库的配置文件有多种定义方式。

一、全局配置定义

常用的配置方式是在应用配置文件或者模块配置文件中添加下面的配置参数:

//数据库配置信息
'DB_TYPE'   => 'mysql', // 数据库类型

'DB_HOST'   => 'localhost', // 服务器地址

'DB_NAME'   => 'thinkphp', // 数据库名

'DB_USER'   => 'root', // 用户名

'DB_PWD'    => '123456', // 密码

'DB_PORT'   => 3306, // 端口

'DB_PREFIX' => 'think_', // 数据库表前缀 

'DB_CHARSET'=> 'utf8', // 字符集

数据库的类型由DB_TYPE参数设置。

下面是目前支持的数据库设置:

DB_TYPE设置支持的数据库类型
mysql或mysqlimysql
pgsqlpgsql
sqlitesqlite
mssql 或sqlsrvsqlserver
oracleoracle
ibaseibase
mongomongo
PDOPDO支持的所有数据库


如果DB_TYPE使用PDO类型的话,数据库类型则由DB_DSN配置决定。

或者采用如下配置

'DB_DSN' => 'mysql://root:123456@localhost:3306/thinkphp#utf8'

使用DB_DSN方式定义可以简化配置参数,DSN参数格式为:

数据库类型://用户名:密码@数据库地址:数据库端口/数据库名#字符集

字符集设置需要3.2.1版本以上有效,字符集如果没有设置的话,默认为utf8。

如果两种配置参数同时存在的话,DB_DSN配置参数优先。

注意:如果要设置分布式数据库,暂时不支持DB_DSN方式配置。

如果采用PDO驱动的话,则必须首先配置**DB_TYPE **为pdo,然后还需要单独配置其他参数,例如:

//PDO连接方式'DB_TYPE'   => 'pdo', // 数据库类型

'DB_USER'   => 'root', // 用户名
'DB_PWD'    => '', // 密码

'DB_PREFIX' => 'think_', // 数据库表前缀

 'DB_DSN'    => 'mysql:host=localhost;dbname=thinkphp;charset=UTF-8'

注意:PDO方式的DB_DSN配置格式有所区别,根据不同的数据库类型设置有所不同,具体可以参考PHP手册。

配置文件定义的数据库连接信息一般是系统默认采用的,因为一般一个应用的数据库访问配置是相同的。该方法系统在连接数据库的时候会自动获取,无需手动连接。

可以对每个模块定义不同的数据库连接信息,如果开启了调试模式的话,还可以在不同的应用状态的配置文件里面定义独立的数据库配置信息。


« 上一篇 下一篇 » admin原创文章,转载请注明出处! 标签:thinkphpphp

相关日志:

«   2020年11月   »
1
2345678
9101112131415
16171819202122
23242526272829
30
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
文章归档
网站收藏
友情链接
图标汇集
  • 又拍云
  • 订阅ipvb的RSS 2.0聚合