【发布时间】:2010-09-30 11:51:28
【问题描述】:
直到昨天,我一直很高兴在 IIS 7 上使用 PHP 5 连接到 SQL Server Express 2005。
昨天我在选择数据库时开始出错。
<?php
$link = mssql_connect('localhost,1433', 'login', 'password');
if(!$link) {
die('could not connect to MSSQL');
}
if(!mssql_select_db('database', $link)) {
echo mssql_get_last_message();
die('could not select db');
}
?>
这会输出以下内容:
"已将数据库上下文更改为 'database'。无法选择 db"
所以mssql_get_last_message 正在输出Changed database context to 'database'.,这似乎完全正确,并不是真正的错误消息。但随后 mssql_select_db 仍然失败。
我已经测试了以下内容:
- 登录正确(更改用户名或密码时出现不同的错误)
- 数据库存在(如果我使用不存在的数据库名称,则会出现不同的错误
- 登录可以连接到数据库(如果您在 SQL Server 中删除数据库用户,则会出现不同的错误)
我不确定还要测试什么。
【问题讨论】:
-
select state_desc, user_access_desc from master.sys.databases where name = 'YourDB'返回什么? -
嗨 Martin,感谢您的回复 - 这些是结果或您的查询:state_desc = ONLINE, user_access_desc = MULTI_USER
-
最近有什么升级吗? SQL Server Express 2005? PHP 5? IIS 7?任何服务器重新启动?
-
在出现问题之前,我一直在分离、重命名和重新附加一些数据库。
标签: php sql-server sql-server-2005