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

PHP7.3连接本地SQL Server2019报连接字符串无效错误求助

问题排查与解决方法

核心报错原因

你遇到的Connection string is not valid [87]报错,核心是PDO连接字符串解析失败,问题都出在测试代码的参数写法和PHP转义规则不匹配:

  • PHP字符串中反斜杠是转义字符,原代码里服务器地址、用户名里的反斜杠未做转义,导致解析后的实际连接字符串内容不符合ODBC驱动要求
  • SQL Server Windows身份验证的参数配置错误

具体修复步骤

  1. 修正字符串转义规则:所有在PHP字符串中写的Windows主机实例名里的反斜杠,都需要写两次(\\)才能被识别为普通反斜杠字符
  2. 适配Windows身份验证逻辑:你使用本地Windows账号登录SQL Server,不需要手动传入账号密码,直接在DSN中添加Trusted_Connection=yes参数即可完成身份校验
  3. 确认SQL Server基础配置:
    • 打开SQL Server配置管理器,进入SQLEXPRESS实例的网络配置,开启TCP/IP协议
    • 启动SQL Server Browser服务,确保实例名可以被正常解析
    • 确认test数据库已创建,你的Windows账号DESKTOP-BCN88UC\JK拥有该数据库的访问权限
    • 如果你没有手动给SQLEXPRESS实例配置固定1433端口,不要在server参数后加,1433,默认SQLEXPRESS使用动态端口,加固定端口会导致连接失败

修正后的测试代码

<?php
try  
{  
    $conn = new PDO("sqlsrv:server=DESKTOP-BCN88UC\\SQLEXPRESS;Database=test;Trusted_Connection=yes");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "数据库连接成功";
}  
catch(Exception $e)  
{   
    die(print_r($e->getMessage()));   
}  
?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:09:03