我写了一个查询但我得到了以下错误,有任何想法吗?!
错误:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in E:\AppServ\www\admin\index.php on line 545
代码:
require_once '../_db/databaseConnect.php';
$db = new databaseConnect();
$db->connect();
$queryResult = mysql_query("(SELECT * FROM tabelcomments WHERE publishStatus = 2) UNION (SELECT appTitleFa FROM tableapps WHERE appID = '$appID');");
for ($dataCnt = 0; $dataCnt < mysql_num_rows($queryResult); $dataCnt++)
{
//codes...
}
$db->close();
答案 0 :(得分:3)
UNION
的两个部分都应返回相同数量和相同类型的列。
最有可能的是,您的tabelComments
表包含的列数多于从联合第二部分的tableApps
表返回的单个列。
您可以通过从tableComments
明确选择相应的列或向UNION
部分添加虚拟列来解决此问题。
实施例
SELECT NULL as dummycol1, comment FROM tablecomment
UNION SELECT appTitleFa, NULL as dummycol2 FROM tableapps