查询rank int时返回一个rank


Getting a rank back when querying a rank int

我试图通过同一数据库中的成员'rank'字段从我的mysql数据库中的'us_army_ranks'字段获得一个Rank Name。

到目前为止,我试着这样做。

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'

我得到a:

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

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

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

:

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,通知你查询是错误的,未能执行。

不加单引号:

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