查询中的UNION语句

时间:2012-10-01 16:41:49

标签: php mysql

我写了一个查询但我得到了以下错误,有任何想法吗?!

错误:

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();

1 个答案:

答案 0 :(得分:3)

UNION的两个部分都应返回相同数量相同类型的列

最有可能的是,您的tabelComments表包含的列数多于从联合第二部分的tableApps表返回的单个列。

您可以通过从tableComments明确选择相应的列或向UNION部分添加虚拟列来解决此问题。

实施例

SELECT NULL as dummycol1, comment FROM tablecomment
UNION SELECT appTitleFa, NULL as dummycol2 FROM tableapps