【发布时间】:2014-04-10 19:26:58
【问题描述】:
我正在尝试在 php 和 SQL Server 之间建立连接。这是我正在使用的连接功能:
$con = new PDO ("dblib:host=xxx.xxx.xxx.xxx:1433;dbname=xxxx", $dbuser, $dbpwd);
我收到以下消息:SQLSTATE[28000] 登录不正确。 (严重性 9)
安装 freetds-devel 后,错误消失了,但我得到了另一个错误: SQLSTATE[01002] Adaptive Server 连接失败(严重性 9)
注意: MSSQL 不在 UNIX 系统上,但 PHP 是。
解决方案:我将 FreeTDS.conf(在 [global] 下)中的 TDS 版本更改为 7.0,它的工作原理就像一个魅力
感谢您的帮助
【问题讨论】:
-
尝试删除端口
:1433和/或使用new PDO("mysql:host=... -
我不是 php 开发人员,但 MS SQL 连接字符串将具有
key=value格式。我认为你需要像UID=$dbuser;PWD=$dbpwd这样的东西。 -
试试
$mysql_hostname = 'xxx'; $mysql_username = 'xxx'; $mysql_password = 'xxx'; $mysql_dbname = 'xxx';$con= new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password); -
@Fred-ii- 我确实删除了端口,但收到此错误消息:SQLSTATE[HY000] 服务器不可用或不存在。 (严重性 9)而且我使用的不是 MySQL,而是 MS SQL
-
非常感谢@Fred-ii-我也祝你好运
标签: php sql-server pdo