为什么我的查询没有返回MySql表中存在的字段?

时间:2014-06-11 03:06:49

标签: php mysql

代码:

$query="SELECT img, pname FROM tracker
WHERE user_id ='$userid'
UNION ALL
SELECT name, other_stuff FROM users
WHERE user_id ='$userid'";
$result = mysql_query($query) or die("Error in query".mysql_error());  

$num=mysql_numrows($result);

mysql_close();

echo "";

$i=0;
while ($i < $num) {

    $img= mysql_result($result,$i,"img");
    $pn= mysql_result($result,$i,"pname");
    $name= mysql_result($result,$i,"name");
    $os= mysql_result($result,$i,"other_stuff");

    echo "$img - $pn - $name - $os";

    $i++;
}

使用此代码,我收到以下错误:

Warning: mysql_result() [function.mysql-result]: pname not found in MySQL result index 3 in [my page] on line 76.  

第76行是指$pn= mysql_result($result,$i,"pname");

name和other_stuff有相同的错误。我究竟做错了什么?

1 个答案:

答案 0 :(得分:2)

你想要一个联盟,而不是一个联盟:

SELECT img, pname, name, other_stuff 
FROM tracker
JOIN users 
ON users.user_id = tracker.user_id
WHERE tracker.user_id ='$userid'