php7连接sqlserver2000

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: php7连接sqlserver2000

安装扩展这部分直接看我的另外一篇文章,地址是:

https://www.gaojiufeng.cn/?id=353
php连接sqlserver方式有4种:

pdo
sqlsrv_connect
odbc
com
前面两种方式会依赖微软给的驱动版本,也依赖于固定版本的sqlserver,例如sqlserver2000只能在php5.3版本使用。而com和odbc不用限制。

例如我的php7.3连接sqlserver2000的代码:

// 连接SQL
$sql = iconv('UTF-8', 'GBK', $sql);;
$dsn = "Driver={SQL Server};Server={$config['host']};Database={$config['name']};trusted_connection=Yes";
$conn = odbc_connect($dsn, $config['user'], $config['pass'], SQL_CUR_USE_ODBC);
if (!$conn)
{

throw new Exception('连接SQL服务器失败');

}

// 执行SQL
$result = odbc_exec($conn, $sql);
if (!$result)
{

throw new Exception('SQL执行失败:' . odbc_error());

}

// 提取结果
$responseData = [];
while (true)
{

$row = (odbc_fetch_array($result));
if (!$row)
{
    break;
}
$keys = array_keys($row);
foreach ($keys as $key)
{
    $row[$key] = iconv('GBK', 'UTF-8', $row[$key]);
}
$responseData[] = $row;

}
odbc_close($conn);

return $responseData;
当然也可以使用com连接,具体代码自己搜索,开启com_dotnet.dll即可

$dbConn=new COM ("ADODB.Connection")
com连接的代码和asp是完全一致的,如果你写过asp,看一下绝对完全一致。

要处理编码问题,传递给sqlserver的sql自己转gbk编码,sqlserver返回结果你再转换回utf8即可。

浪费了一天半的时间研究这个东西真不划算,大部分时间卡在了编码问题,还以为是不支持,还好帮朋友解决了问题。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP 原生连接 Mysql
PHP 原生连接 Mysql
107 0
|
7月前
|
关系型数据库 MySQL Unix
PHP MySql 安装与连接
PHP MySql 安装与连接
130 0
|
4月前
|
PHP 数据库
【PHP学习】—PHP连接数据库实现表单页面的验证功能(七)
【PHP学习】—PHP连接数据库实现表单页面的验证功能(七)
|
4月前
|
数据库连接 PHP 数据库
【PHP学习】—PHP连接数据库(六)
【PHP学习】—PHP连接数据库(六)
|
7月前
|
PHP
PHP 连接运算符
PHP 连接运算符
25 0
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP数据库驱动扩展与不同方式连接数据库方式技术详解
php的强大就是因为它有很多优质的扩展库!
76 0
PHP数据库驱动扩展与不同方式连接数据库方式技术详解
|
8月前
|
PHP 数据库
php连接数据库,及数据表增删改查
php连接数据库,及数据表增删改查
56 2
|
9月前
|
PHP 数据库
PHP:pdo连接数据库获取分区名称及属性信息
PHP:pdo连接数据库获取分区名称及属性信息
38 0
|
9月前
|
关系型数据库 MySQL PHP
PHP MySQL连接服务器
PHP MySQL连接服务器
|
SQL 网络协议 关系型数据库
PHP为什么可以连接MySQL?底层原理是什么?
PHP为什么可以连接MySQL?底层原理是什么?
296 0