加入mySQL查询,两个相同的列名,如何显示数据?

时间:2011-09-21 23:38:20

标签: php mysql

我已经创建了我的第一个连接查询,以便在网站的主页上显示一些Wordpress内容,到目前为止一直很好,但是在连接表中有两列名称为“ID”。我以后(在链接中)失去了使用其中一个列名作为变量的能力。

“echo $ row ['ID']”不再显示该值(用于表格加入之前)。

“echo $ row ['wp_posts.ID']”似乎也没有做任何事情。

我该怎么办?

$query = "SELECT wp_posts.ID, wp_posts.post_title, wp_posts.post_excerpt, wp_posts.post_author, wp_users.ID, wp_users.display_name FROM wp_posts, wp_users  WHERE wp_posts.post_status = 'publish' AND wp_users.ID = wp_posts.post_author ORDER BY wp_posts.post_date DESC LIMIT 2";
$result = mysql_query($query) or die(mysql_error()); 
?>

<?php 
      while ($row = mysql_fetch_array($result)){ 
          echo "<h2>" . $row['post_title']; ?></h2>
          <p class="post_author">
          by <?php echo $row['display_name'];?></p>
          <?php $text = explode("***",wordwrap(strip_tags($row['post_excerpt']),150,"***",true));
                echo " ".$text[0]." ";
        ?>... <a href="http://www.pihl.ca/kelownalawyers/?p=<?php echo $row['ID'];?>"> READ MORE</a><p />

<?php 

}  
?>

3 个答案:

答案 0 :(得分:6)

SELECT wp_posts.ID AS wpp_id, wp_users.ID AS wpu_id

然后在循环中用$ row ['wpp_id']和$ row ['wpu_id']引用

答案 1 :(得分:0)

使用MySQL AS关键字(MySQL SELECT Docs

为其中一个ID字段添加别名

答案 2 :(得分:0)

如果要选择所有但仍解决与某些字段的命名冲突,这也会起作用:

SELECT *, wp_posts.ID AS wpp_id, wp_users.ID AS wpu_id FROM...

这允许您获取所有列,添加2个新列,然后可以从assoc数组中获取。