所以,我试图在同一个文件中运行这两个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