<?php
$query = mysql_query("SELECT * FROM threads
INNER JOIN users
ON threads.poster = users.id
WHERE threads.forum_id = 11");
while($row = mysql_fetch_array($query)) {
<a href="thread.php?id=<?=$row['id']?>">Link</a>
} ?>
在线程和用户中都有一个名为id的列。它打印用户ID。任何方式我得到它来打印线程ID而不重新命名其中一个。
提前致谢!
答案 0 :(得分:2)
SELECT *,threads.id as thread_id FROM ...
答案 1 :(得分:1)
SELECT *,threads.id AS thread_id ...
然后你可以从$ row引用thread_id。
$行[ 'THREAD_ID']
答案 2 :(得分:1)
为什么在查询中使用*?最好只调用所需的字段,而不是提取不需要的额外数据。您还需要通过调用上面列出的table_name.field_name格式来指定要使用的ID。
当你开始获得一些复杂的连接时,我喜欢做的是用短字别名表名。只是帮助简化一些事情。
SELECT t.ID FROM threads t INNER JOIN用户 ON t.poster = users.id 在哪里t.forum_id = 11
答案 3 :(得分:0)
您需要明确命名该列。如果你输入:
SELECT USERS.*,
THREADS.ID,
USERS.ID
FROM threads
INNER JOIN users
ON threads.poster = users.id
WHERE threads.forum_id = 11
应该这样做。
答案 4 :(得分:0)
查看以下代码:
$query = mysql_query("SELECT * FROM threads
INNER JOIN users
ON users.poster = threads.id
WHERE threads.forum_id = 11");
while($row = mysql_fetch_array($query)) {
<a href="thread.php?id=<?=$row['id']?>">Link</a>
} ?>
它将打印线程ID