我试图通过同一数据库中的成员'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