PHP / MYSQL第二个sql查询不起作用

时间:2015-10-15 20:22:39

标签: php mysql

所以,我试图在同一个文件中运行这两个sql语句。第一个sql查询工作正常,我能够循环遍历所有条目,但我需要通过一些更多的SQL查询来排序更多的条目。

我需要使用条目的['tid']来检查他们是否在我的数据库中有第二个sql查询中的子项,在我得到第二个sql查询工作后我将添加一个nother sql查询来循环遍历子项并查询其在另一个表中的使用计数。但我无法获得第二个sql代码甚至运行。

起初我把它们放在自己的功能中,所以我可以在需要的时候访问它们,但它没有用,所以我最终到了这里。当我尝试使用第二个SQL查询中的任何内容时,它只返回任何内容,如果我添加错误报告,则不会报告错误。

知道我做错了吗?

$query = "
SELECT DISTINCT
    Homelectricaldb.taxonomy_term_data.tid,
    Homelectricaldb.taxonomy_term_data.vid,
    Homelectricaldb.taxonomy_term_data.name,
    Homelectricaldb.th.parent
FROM
    Homelectricaldb.taxonomy_term_data taxonomy_term_data
        LEFT JOIN
    Homelectricaldb.taxonomy_index taxonomy_index ON taxonomy_term_data.tid = taxonomy_index.tid
        LEFT JOIN
    Homelectricaldb.taxonomy_term_hierarchy th ON taxonomy_term_data.tid = th.tid
WHERE
    Homelectricaldb.taxonomy_index.tid IS NULL
        AND (Homelectricaldb.taxonomy_term_data.vid = 1
        OR Homelectricaldb.taxonomy_term_data.vid = 2
        OR Homelectricaldb.taxonomy_term_data.vid = 242)
";

$result = $con->query($query);
$output = Array();
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $children =  $con->query("SELECT td.tid FROM Homelectricaldb.taxonomy_term_data td LEFT JOIN taxonomy_term_hierarchy th ON th.tid = td.tid where th.parent = " . $row['tid']);
        if ($children > 0) {
            echo $row['name'] . " Has chidlren\n";
        } else {
            echo $row['name'] . "Has no children\n";
        }
    }
}

编辑: 我将if ($children > 0) {更改为if ($children->num_rows > 0) {,因为@alex建议并收到Trying to get property of non-object

0 个答案:

没有答案