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完全正常,但接下来的2个查询失败,我无法弄清楚原因。这是从php中显示的错误语句:
警告:mssql_query()[function.mssql-query]:message:无效的对象名称'Issues'。第47行/srv/www/htdocs/agreement.php中的(严重级16)
警告: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]:message:无效的对象名称'software.software_dbo.ApplicationInfo'。第51行/srv/www/htdocs/agreement.php中的(严重级16)
警告: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的表,所以我不确定它为什么告诉我它们是无效的对象。
答案 0 :(得分:2)
检查您是否正在查询正确的数据库或架构。
software.software_dbo.ApplicationInfo
表示:
software
software_dbo
的模式 - 可能是问题。可能是SQL Server上的dbo
。ApplicationInfo
也许在本声明中检查DBO
的值是什么,$connect = mssql_connect(DBSERVER, DBO, DBPW)
答案 1 :(得分:0)
检查您要连接的用户是否有权使用您尝试查询的表。像问题的接缝是无法找到表格。
处理此问题的最佳方法是将用户权限授予该数据库中的所有对象:
GRANT SELECT, INSERT, DELETE <any other permissions that user needs> ON `database`.`*` TO `user`@`localhost` IDENTIFIED BY 'password'