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

PHP连接MSSQL报错:Call to undefined function sqlsrv_connect()求助

解决Call to undefined function sqlsrv_connect()错误

问题原因

你调用的sqlsrv_connect()属于非PDO的SQLSRV核心扩展,但目前仅启用了PDO版本的pdo_sqlsrv扩展,二者是独立的扩展组件,因此系统找不到该函数。

解决方案

方法1:安装非PDO的SQLSRV扩展

  1. 下载与环境匹配的扩展文件:
    • 选择对应PHP 8.2.4、线程安全(TS)、x64架构的php_sqlsrv_82_ts_x64.dll,版本建议与已安装的pdo_sqlsrv(5.11.0-beta1+16628)保持一致,避免版本冲突。
  2. 将下载的dll文件放入XAMPP的PHP扩展目录(通常为xampp\php\ext)。
  3. 打开php.ini,添加以下配置行(与已有的pdo_sqlsrv配置放在一起):
    extension=php_sqlsrv_82_ts_x64.dll
    
  4. 重启XAMPP的Apache服务,使扩展加载生效。
  5. 验证:运行phpinfo(),检查是否出现独立的sqlsrv扩展条目(而非PDO Drivers下的sqlsrv)。

方法2:改用PDO方式连接数据库

如果不想额外安装扩展,可以直接使用已启用的PDO扩展连接,修改代码为:

$dsn = "sqlsrv:Server=$serverName;Database=你的数据库名称";
$username = "你的用户名";
$password = "你的密码";

try {
    $conn = new PDO($dsn, $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "连接成功";
} catch(PDOException $e) {
    die("连接失败: " . $e->getMessage());
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 21:42:37