0
 connect();
 $arr = mssql_fetch_assoc(mssql_query("SELECT Applications.ProductName,
        Applications.ProductVersion, Applications.ProductSize, 
        Applications.Description, Applications.ProductKey, Applications.ProductKeyID,
        Applications.AutomatedInstaller, Applications.AutomatedInstallerName,
        Applications.ISO, Applications.ISOName, Applications.Internet,
        Applications.InternetURL, Applications.DatePublished, Applications.LicenseID,
        Applications.InstallationGuide, Vendors.VendorName
FROM Applications
INNER JOIN Vendors ON Applications.VendorID = Vendors.VendorID
WHERE ApplicationID = ".$ApplicationID));

$query1 = mssql_query("SELECT Issues.AppID, Issues.KnownIssues
      FROM Issues 
      WHERE Issues.AppID=".$ApplicationID);   
$issues = mssql_fetch_assoc($query1);
$query2 = mssql_query("SELECT ApplicationInfo.AppID,
               ApplicationInfo.Support_Status, ApplicationInfo.UD_Training,
               ApplicationInfo.AtomicTraining, ApplicationInfo.VendorURL
   FROM  ApplicationInfo
   WHERE ApplicationInfo.AppID = ".$ApplicationID);
$row = mssql_fetch_assoc($query2);
function connect(){
 $connect =  mssql_connect(DBSERVER, DBO, DBPW) or 
        die("Unable to connect to server");
 $selected = mssql_select_db(DBNAME, $connect) or 
        die("Unable to connect to database");
 return $connect;
}

以上是代码。第一个查询/fetch_assoc 工作得很好,但是接下来的两个查询失败了,我不知道为什么。这是从 php 显示的错误语句:

警告:mssql_query() [function.mssql-query]:消息:无效的对象名称“问题”。(严重性 16)在 /srv/www/htdocs/agreement.php 第 47 行

警告:mssql_query() [function.mssql-query]:一般 SQL Server 错误:在第 47 行的 /srv/www/htdocs/agreement.php 中检查来自 SQL Server(严重性 16)的消息警告:mssql_query() [function. mssql-query]:第 47 行 /srv/www/htdocs/agreement.php 中的查询失败

警告:mssql_fetch_assoc():提供的参数不是第 48 行 /srv/www/htdocs/agreement.php 中的有效 MS SQL 结果资源

警告:mssql_query() [function.mssql-query]:消息:无效的对象名称“software.software_dbo.ApplicationInfo”。(严重性 16)在 /srv/www/htdocs/agreement.php 第 51 行

警告:mssql_query() [function.mssql-query]:一般 SQL Server 错误:在第 51 行的 /srv/www/htdocs/agreement.php 中检查来自 SQL Server(严重性 16)的消息

警告:mssql_query() [function.mssql-query]:第 51 行 /srv/www/htdocs/agreement.php 中的查询失败

警告:mssql_fetch_assoc():提供的参数不是第 52 行 /srv/www/htdocs/agreement.php 中的有效 MS SQL 结果资源

该错误显然围绕查询未执行这一事实。在我的数据库中,我有一个名为 Issues 的表和一个名为 ApplicationInfo 的表,所以我不确定它为什么告诉我它们是无效对象。

4

2 回答 2

2

检查您是否正在查询正确的数据库或架构。

software.software_dbo.ApplicationInfo方法:

  • 一个名为的数据库software
  • 一个名为的架构software_dbo-可能这就是问题所在。可能dbo在您的 SQL Server 上。
  • 一个名为的视图/表ApplicationInfo

也许检查 的值DBO,在其他参数中,在这个语句中:$connect = mssql_connect(DBSERVER, DBO, DBPW)

于 2010-06-02T14:14:35.703 回答
0

检查您正在连接的用户是否有权使用您尝试查询的表。类似问题的接缝是找不到表格。

处理此问题的最佳方法是授予用户对该数据库中所有对象的权限:

GRANT SELECT, INSERT, DELETE <any other permissions that user needs> ON `database`.`*` TO `user`@`localhost` IDENTIFIED BY 'password'
于 2010-06-02T14:06:52.323 回答