You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需安装驱动,PHP连接Microsoft SQL Server 2014解决方案问询

PHP连接SQL Server 2014(无需额外安装驱动方案)

我完全懂你在共享主机上的难处——不能装第三方扩展确实卡了不少常规路子,但既然服务商明确说支持常规ODBC连接,那咱们可以靠PHP原生的odbc_connect()函数搞定,这个方案不需要额外装PDO_sqlsrv或者sqlsrv扩展,只要主机的PHP已经启用了ODBC原生扩展就行。

第一步:确认ODBC扩展是否启用

先在你的PHP文件里加一行phpinfo();,运行后搜索「ODBC」,如果看到「ODBC Support enabled」的条目,说明扩展已经开了,可以继续下一步。要是没找到,联系服务商开启这个基础扩展就行——大部分共享主机都会默认启用它。

第二步:构造DSN-less ODBC连接字符串

针对SQL Server 2014,有两个靠谱的系统级驱动可选(都是服务商大概率已经预装的):

  • SQL Server Native Client 11.0:SQL Server 2014对应的官方原生客户端驱动
  • ODBC Driver 11 for SQL Server:微软推出的通用ODBC驱动,完美兼容2014版本

下面是具体的连接代码示例:

<?php
// 替换成你的数据库信息
$server = "你的SQL服务器地址,1433"; // 默认端口1433,自定义端口记得修改
$dbName = "目标数据库名";
$user = "数据库账号";
$pass = "数据库密码";

// 二选一即可,哪个能用用哪个
// 选项1:用SQL Server Native Client 11.0
$connStr = "Driver={SQL Server Native Client 11.0};Server=$server;Database=$dbName;Uid=$user;Pwd=$pass;CharSet=UTF8;";

// 选项2:用ODBC Driver 11 for SQL Server
// $connStr = "Driver={ODBC Driver 11 for SQL Server};Server=$server;Database=$dbName;Uid=$user;Pwd=$pass;CharSet=UTF8;";

// 建立连接
$conn = odbc_connect($connStr, "", "");

if (!$conn) {
    die("连接失败: " . odbc_errormsg());
}

// 示例:执行查询并输出结果
$sql = "SELECT TOP 3 * FROM 你的表名";
$result = odbc_exec($conn, $sql);

while ($row = odbc_fetch_array($result)) {
    print_r($row);
}

// 用完记得关闭连接
odbc_close($conn);
?>

几个关键注意点

  1. 驱动名称适配:如果其中一个驱动连不上,立刻换另一个——不同主机环境预装的驱动版本可能不一样
  2. 端口号别漏:要是你的SQL Server没用到默认的1433端口,一定要在服务器地址后面加,端口号
  3. 字符集防乱码:连接字符串里加CharSet=UTF8;可以避免中文乱码,根据你的数据库实际字符集调整就行
  4. 权限验证:确保你的数据库账号有访问目标库的权限,而且服务商已经开放了PHP服务器到SQL Server的网络访问权限

要是还是报错,直接用odbc_errormsg()看具体错误信息——大部分问题都是驱动名称错了、服务器地址/端口不对,或者账号权限不够导致的。

内容的提问来源于stack exchange,提问作者A Friend

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:09:02