【问题标题】:php SQL Server mssql_select_db errorphp SQL Server mssql_select_db 错误
【发布时间】: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


【解决方案1】:

感谢 Martin 和 Phil 的回复。我创建了一个新的登录名和一个新的相应用户来解决问题。

【讨论】:

    猜你喜欢
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多