在查询排名时获得排名

时间:2013-03-16 19:37:19

标签: php mysql join

我试图通过同一数据库中的成员'us_army_ranks'字段从我的mysql数据库中的'rank'字段中获取排名。

到目前为止我试图这样做。

SELECT 'members'.'rank', 'us_army_ranks'.'id' FROM members LEFT JOIN 'us_army_ranks' ON 'members'.'rank'='us_army_ranks'.'rank'

我陷入困境,无法真正开始工作。我正在使用$id=$_GET['id'];也会使它看起来像这样。

SELECT 'members'.'rank', 'us_army_ranks'.'id' FROM members WHERE id='$id' LEFT JOIN 'us_army_ranks' ON 'members'.'rank'='us_army_ranks'.'rank'

我得到了:

  

“警告:mysql_fetch_array()期望参数1是资源,   在第13行的ranking.php中给出的布尔值“返回但没有任何   数据丢失。

2 个答案:

答案 0 :(得分:1)

您的问题是在表格和字段名称周围使用单引号'而不是反引号`

由于它们不是关键字(其中任何一个),因此您根本不需要在表格和字段名称周围使用这些引号。

执行:

SELECT members.rank, us_army_ranks.id 
FROM members 
LEFT JOIN us_army_ranks ON members.rank=us_army_ranks.rank
WHERE members.id='$id' 

因为您的查询错误,mysql_query函数没有返回资源,而是返回布尔值FALSE,以通知您查询错误且无法执行。

答案 1 :(得分:1)

尝试不使用单引号:

SELECT members.rank, us_army_rank.id
FROM members
LEFT JOIN us_army_ranks
ON members.rank = us_army_ranks.rank
WHERE id = $id