ThinkPHP连接sqlserver数据库配置

thinkphp连接微软的sqlserver数据库,默认应该是支持2012,2008,2005等大众版本的,记得这个连接还是需要你配置环境的,使用sqlsrv扩展组件,之前记录了tp3的,这次更新tp5的配置上来

ThinkPHP3 的配置

<?php
return array(
    'DB_TYPE'    =>  'sqlsrv', 
     // 若填写 '127.0.0.1' 报 '命名管道提供程序: 无法打开与 SQL Server 的连接' 错误
    'DB_HOST'    =>  'localhost',
    'DB_NAME'    =>  'WaringPulish',
    'DB_USER'    =>  'root',
    'DB_PWD'     =>  'root',
    'DB_CHARSET' =>  'utf8',
     // 若填写 '1433' 报 'TCP 提供程序: 由于目标计算机积极拒绝,无法连接' 错误
    'DB_PORT'    =>  '',                      // 端口
    'DB_PREFIX'  =>  '', 
);

ThinkPHP5 的配置

<?php
return [
    // 数据库类型
    'type'            => 'sqlsrv',
    // 服务器地址  若填写 '127.0.0.1' 报 '提供程序: 由于目标计算机积极拒绝,无法连接' 错误
    'hostname'        => 'localhost',
    // 数据库名
    'database'        => 'WaringPulish',
    // 用户名
    'username'        => 'root',
    // 密码
    'password'        => 'root',
    // 端口  若填写 '1433' 报 '提供程序: 由于目标计算机积极拒绝,无法连接' 错误
    'hostport'        => '',
    // 连接dsn
    'dsn'             => '',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => 'utf8',
    // 数据库表前缀
    'prefix'          => '',
    // 数据库调试模式
    '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,
];

原生 pdo sqlsrv 连接

<?php
    header("content-type:text/html;charset=utf-8");
    try {
        // 服务器地址  若填写 '127.0.0.1' 报 '命名管道提供程序: 无法打开与 SQL Server 的连接' 错误
        $conn = new PDO( "sqlsrv:server=localhost;Database = WaringPulish", 'root', 'root');    
        $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
        echo "连接成功";
    } catch( PDOException $e ) {
        die("连接失败:".$e->getMessage());
    }

原生 sqlsrv 连接

header("content-type:text/html;charset=gbk");
// 若填写 '127.0.0.1' 或 'localhost' 报 '命名管道提供程序: 无法打开与 SQL Server 的连接' 错误
$conn = sqlsrv_connect( "(local)", array("UID"=>"root","PWD"=>"root","Database"=>"cwrpms"));
if( $conn ){
    echo "连接成功";
}else{
    echo "连接失败:<pre>";
    print_r(sqlsrv_errors());
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/237.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。