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());
}
总结 PHP 连接 sql server