当前位置:首页 > PHP > 正文内容

php7连接sqlserver2000

高老师5年前 (2021-07-18)PHP1754

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

https://blog.20230611.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即可。

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

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/208.html

分享给朋友:

“php7连接sqlserver2000” 的相关文章

PHP跨域问题最佳解决方案

PHP跨域问题最佳解决方案

1、允许单个域名访问指定某域名(http://client.runoob.com)跨域访问,则只需在http://server.runoob.com/server.php文件头部添加如下代码:header('Access-Control-Allow-Origin:http://client....

php scoket,php webscoket,php webscoket 服务器

php scoket,php webscoket,php webscoket 服务器

项目需要使用websocket推送最新订单,客户服务器非linux不支持swoole,因此使用原生,直接上代码(1).PHP服务端<?php ini_set('error_reporting', E_ALL ^ E_NOTICE); ini_set...

php 将数组键值转为变量

php 将数组键值转为变量

<?php $data=array('a'=>1,'b'=>2,'c'=>3,'d'=>4); extract($data); var_dump($a,$b,$c,$d); ?>在人人商城中捡到的...

php trait的使用

php trait的使用

PHP不像net支持多继承,自身只支持单继承,为了解决这个问题,php出了Trait这个特性,减少单继承语言的限制。并且能让代码复用率更高。说白了就是一个对象的属性和方法扩展工具一样。例如:trait exts {     public f...

php  RabbitMQ消息队列

php RabbitMQ消息队列

(1).config.php 配置文件<?php /**  * RabbitMQ_Config  */ $config = [     'host' => ...

PHP getenv函数和putenv函数的学习

PHP getenv函数和putenv函数的学习

(1).在PHP中可以查看的环境变量包括: (1.1).电脑环境变量 (2.1).服务器环境变量(2).getenv()函数获取一个环境变量的值.参数1是环境变量的key,参数2值为true的时候仅从你的电脑环境变量中查找,参数2值为false会从两种变量中全部查询//获取我电脑登录的用户名,输出A...