0

我试图通过同一数据库中'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 行的 ranks.php 中给出的布尔值”返回但没有任何数据丢失。

4

2 回答 2

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,以通知您查询错误并且无法执行。

于 2013-03-16T19:40:53.887 回答
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
于 2013-03-16T19:41:18.570 回答