tp5数据库链接

1在config/database.php中配置

1.1直接

return [
    // 数据库类型
    ‘type‘            => ‘mysql‘,
    // 服务器地址
    ‘hostname‘        => ‘127.0.0.1‘,
    // 数据库名
    ‘database‘        => ‘hainan‘,
    // 用户名
    ‘username‘        => ‘root‘,
    // 密码
    ‘password‘        => ‘root‘,
    // 端口
    ‘hostport‘        => ‘‘,
    // 连接dsn
    ‘dsn‘             => ‘‘,
    // 数据库连接参数
    ‘params‘          => [],
    // 数据库编码默认采用utf8
    ‘charset‘         => ‘utf8‘,
    // 数据库表前缀
    ‘prefix‘          => ‘dl_‘,
    // 数据库调试模式
    ‘debug‘           => true,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    ‘deploy‘          => 0,
    // 数据库读写是否分离 主从式有效
    ‘rw_separate‘     => false,
    // 读写分离后 主服务器数量
    ‘master_num‘      => 1,
    // 指定从服务器序号
    ‘slave_no‘        => ‘‘,
    // 自动读取主库数据
    ‘read_master‘     => false,
    // 是否严格检查字段是否存在
    ‘fields_strict‘   => true,
    // 数据集返回类型
    ‘resultset_type‘  => ‘array‘,
    // 自动写入时间戳字段
    ‘auto_timestamp‘  => false,
    // 时间字段取出后的默认时间格式
    ‘datetime_format‘ => ‘Y-m-d H:i:s‘,
    // 是否需要进行SQL性能分析
    ‘sql_explain‘     => false,
];

1.2Env配置

use think\Env;
return [
    // 数据库类型
    ‘type‘            => ‘mysql‘,
    // 服务器地址
    ‘hostname‘        => Env::get(‘database.hostname‘,‘127.0.0.1‘),
    // 数据库名
    ‘database‘        => Env::get(‘database.database‘,‘cp‘),
    // 用户名
    ‘username‘        => Env::get(‘database.username‘,‘root‘),
    // 密码
    ‘password‘        => Env::get(‘database.password‘,‘root‘),
    // 端口
    ‘hostport‘        => Env::get(‘database.hostport‘,‘3306‘),
    // 连接dsn
    ‘dsn‘             => ‘‘,
    // 数据库连接参数
    ‘params‘          => [],
    // 数据库编码默认采用utf8
    ‘charset‘         => Env::get(‘database.charset‘,‘utf8‘),
    // 数据库表前缀
    ‘prefix‘          => Env::get(‘database.prefix‘,‘dl_‘),
    // 数据库调试模式
    ‘debug‘           => true,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    ‘deploy‘          => 0,
    // 数据库读写是否分离 主从式有效
    ‘rw_separate‘     => false,
    // 读写分离后 主服务器数量
    ‘master_num‘      => 1,
    // 指定从服务器序号
    ‘slave_no‘        => ‘‘,
    // 是否严格检查字段是否存在
    ‘fields_strict‘   => true,
    // 数据集返回类型
    ‘resultset_type‘  => ‘array‘,
    // 自动写入时间戳字段
    ‘auto_timestamp‘  => false,
    // 时间字段取出后的默认时间格式
    ‘datetime_format‘ => ‘Y-m-d H:i:s‘,
    // 是否需要进行SQL性能分析
    ‘sql_explain‘     => false,
];

.env文件中

app_debug =  true
app_trace =  false

//cache   = redis

[database]
hostname =  127.0.0.1
database =  hainan
username =  root
password =  root
hostport =  3306
charset  =  utf8
prefix   =  dl_

2在模型中定义$connection属性设置当前模型对应数据库的链接

class AdminNav extends Base{
    //5.0不支持单独设置当前模型的数据表前缀。 database.php文件里设置‘prefix‘=>‘dl_‘,

    //默认主键为自动识别,如果需要指定,可以设置属性
    //protected $pk = ‘id‘;

    //模型会自动对应数据表,模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写
    //AdminNav  自动对应到 表前缀(dl)_admin_nav  如不是这张表则用$table申明该模型类数据表
    protected $table = ‘dl_right‘;

    // 设置当前模型的数据库连接
    protected $connection = [
        // 数据库类型
        ‘type‘        => ‘mysql‘,
        // 服务器地址
        ‘hostname‘    => ‘127.0.0.1‘,
        // 数据库名
        ‘database‘    => ‘admindemo‘,
        // 数据库用户名
        ‘username‘    => ‘root‘,
        // 数据库密码
        ‘password‘    => ‘root‘,
        // 数据库编码默认采用utf8
        ‘charset‘     => ‘utf8‘,
        // 数据库表前缀
        ‘prefix‘      => ‘dl_‘,
        // 数据库调试模式
        ‘debug‘       => false,
    ];
}

3、控制器中直接申明

  namespace app\index\controller;
    use think\Db;
    class Index extends Controller
    {
        public function demo(Request $res)
        {
            Db::connect([
              // 数据库类型
             ‘type‘            => ‘mysql‘,
              // 服务器地址
              ‘hostname‘        => ‘127.0.0.1‘,
              // 数据库名
             ‘database‘        => ‘hainan‘,
              // 用户名
              ‘username‘        => ‘root‘,
              // 密码
              ‘password‘        => ‘root‘,
              // 端口
              ‘hostport‘        => ‘‘,
             // 连接dsn
              ‘dsn‘             => ‘‘,
              // 数据库连接参数
              ‘params‘          => [],
              // 数据库编码默认采用utf8
              ‘charset‘         => ‘utf8‘,
              // 数据库表前缀
              ‘prefix‘          => ‘dl_‘,
              // 数据库调试模式
              ‘debug‘           => true,
              // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
              ‘deploy‘          => 0,
              // 数据库读写是否分离 主从式有效
              ‘rw_separate‘     => false,
              // 读写分离后 主服务器数量
              ‘master_num‘      => 1,
              // 指定从服务器序号
              ‘slave_no‘        => ‘‘,
              // 自动读取主库数据
              ‘read_master‘     => false,
              // 是否严格检查字段是否存在
              ‘fields_strict‘   => true,
              // 数据集返回类型
              ‘resultset_type‘  => ‘array‘,
              // 自动写入时间戳字段
              ‘auto_timestamp‘  => false,
              // 时间字段取出后的默认时间格式
              ‘datetime_format‘ => ‘Y-m-d H:i:s‘,
               // 是否需要进行SQL性能分析
              ‘sql_explain‘     => false,
            ]);
            //或者使用字符串
            Db::connect(‘mysql://root:root@127.0.0.1:3306/dl_#utf8‘);
        }
    }

原文地址:https://www.cnblogs.com/lichihua/p/10404333.html

时间: 2024-08-04 02:27:16

tp5数据库链接的相关文章

沫沫金【实践可用】--web工程ORM数据库链接(JDBC)链接集群库||普通库,两种标准

普通链接配置,应用到集群会启动失败,请修改 集群数据库链接 jdbc.url=jdbc:oracle:thin:@//127.0.0.1:1521/momojin 普通数据库链接 jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521/momojin 区别就在于:"//",如上所示 标红的地方.请务必清楚

Oracle 数据库链接

SQL> CREATE DATABASE LINK   mydblink 2    CONNECT TO   test   IDENTIFIED BY   test123 3    USING '(DESCRIPTION = 4      (ADDRESS_LIST = 5        (ADDRESS = (PROTOCOL = TCP)(HOST=192.168.1.210)(PORT = 1521))) 6        (CONNECT_DATA = (SERVICE_NAME = o

EntityFramework 多数据库链接,MySql,SqlServer,Oracel等

环境:EntityFramework5.0,MySql5.6,MSSQL2012 EF是强大的ORM工具,真正意义上的多数据库链接指的是不同类型的数据库,以及同种类型的数据库多个库,EF很好的支持这一点,下面简单演示下: 创建一个MVC4.0,Framework4.5的基本项目,然后重点是WebConfig配置: <?xml version="1.0" encoding="utf-8"?> <!-- For more information on

计算机改名导致数据库链接的诡异问题

前几天给开发部门部署测试数据库时,遇到一个很诡异的问题:创建一个链接服务器GEK-MIS01时,报错如下: 消息 15190,级别 16,状态 1,过程 sp_dropserver,第 56 行 仍有对服务器 'GEK-MIS01' 的远程登录或链接登录. 脚本如下(略去登录名等关键信息):   因为当时是一批脚本执行而且仅有这个脚本出错,当我准备查检查出错原因的时候,又有更紧急的事情要处理,就耽搁了处理这个问题,开发那边在测试过程发现这个数据库链接有问题,邮件反馈给我,我检查时居然发现很多不可

EF之MSSQL分布式部署一:EFContext自定义数据库链接

不废话,上代码: 来源:http://bbs.csdn.net/topics/390823046 原文地址:EF之MSSQL分布式部署一:EFContext自定义数据库链接 /// <summary> /// 得到Entity的连接字符串 /// </summary> /// <param name="edmxFullName">Edmx的包括命名空间的全名称</param> /// <param name="server

java JDBC 数据库链接

1.准备环境搭建: myeclipse,sql2005,jdbc. 2.都下载完之后开始进行安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证) <1> 将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbc.jar文件,得到其路径开始配置环境变量 在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdb

创建公开数据库链接

CREATE PUBLIC DATABASE LINK "数据库链接别名" CONNECT TO "登陆用户" IDENTIFIED BY "登陆密码" USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = IP)(PORT = 1521)))(CONNECT_DATA =(SID = SID)))';

mybatis源码数据库链接配置

<?xml version="1.0" encoding="UTF-8" ?>  <!DOCTYPE configuration             PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"            "http://ibatis.apache.org/dtd/ibatis-3-config.dtd"><configurat

win 2008 64位IIS7出现数据库链接出错的解决办法

法一:开启父路径 在IIS7中ASP默认情况下,"父路径"是没有启用的,我们必须手动开启"父路径",选择"True",搞定"父路径"选项.具体操作如下图所示: 打开"Tnternet信息服务(IIS)管理器",左侧栏选择"Default Web Site",内容区域选择"ASP",如下图: 双击打开"ASP",在"行为"中,将&