我收到此错误:操作数应包含以下代码中的1列
$select = mysql_query("SELECT (SELECT id_post,id_category,id_user,title,description,image,date_added FROM r_post) as id_post,id_category,id_user,title,description,image,date_added ,(SELECT name FROM r_category) as categoryname")or die(mysql_error());
while ($result = mysql_fetch_assoc($select)) {
<div class="tc-ch">
<?php if(!empty($result['image'])){?>
<div class="tch-img">
<a href="/<?=$result['seo_url']?>"><img src="admin/images/<?= $result['image'] ?>" class="img-responsive" alt=""/></a>
</div>
<a class="blog blue"><?= $result['name'] ?></a>
<?}?>
<h3> <a href="/<?=$result['seo_url']?>"><?= $result['title'] ?></a></h3>
<p><?= $result['description'] ?></p>
<div class="blog-poast-info">
<ul>
<li><i class="glyphicon glyphicon-user"> </i><a class="admin" href="#"><?= $result['id_user'] ?> </a></li>
<li><i class="glyphicon glyphicon-calendar"> </i><?= $result['date_added'] ?></li>
<li><i class="glyphicon glyphicon-comment"> </i><a class="p-blog" href="#"><?= $result['categoryname'] ?></a></li>
</ul>
</div>
</div>
<?php } ?>
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
如果列不匹配(您可以使用联合)或者您想要加入,则不能在一个查询中选择两个表。
没有看到数据库的结构,我不能肯定地说,但在我看来,你想在id_category上加入这些,如下所示:
SELECT id_post, id_category, 名称AS类别名称,id_user,title,description,image,date_added FROM r_post rp INNER JOIN r_category rc ON rc.id_category = rp.id_category
如果我的假设对您的数据库有误,请说明您的具体需求。此外,为了将来参考,因为这纯粹是一个SQL问题,只需发布您的查询和有关您的数据库的信息,这样我们就不会迷失在所有其他不相关的代码中。
编辑如何获取结果:
你做得对
while ($result = mysql_fetch_assoc($select))
这会迭代每一行。您需要做的就是使用
echo $result['col_name'];
在PHP代码中。例如,对于段落标记,您将使用:
<p><?php echo $result['description']; ?></p>
基本上将结果打印到HTML代码中。