这应该是一个基本问题,但我很长一段时间没有使用Mysql,并忘记了所有基本的东西。所以SO程序员请耐心等待。Mysql - 使用INNER JOIN错误从2个表中选择列
我有2个表所示:
表1(事件):here
表2(用户):here
我想在事件表中选择所有行event_invitees
包含一个用户名。我能做到这一点使用:
SELECT * FROM meetmeup_events WHERE event_invitees LIKE '%$username%'
现在,我想也选择从用户表(列称为user_userphoto
)的event_invitees
的照片。我尝试这是这样的:
$result = mysql_query("SELECT meetmeup_events.*, meetmeup_user.user_photo
FROM meetmeup_events
WHERE event_invitees LIKE '%$username%'
INNER JOIN meetmeup_user
ON meetmeup_user.user_username = meetmeup_events.event_inviter");
$rows = array();
while($r = mysql_fetch_assoc($result)) {
$rows['meetmeup_user'][] = $r;
}
echo json_encode($rows);
这给了我一个错误:mysql_fetch_assoc():提供的参数不是一个有效的MySQL结果资源
我怎样才能做到这一点?我错过了什么?你能举几个例子吗?
在此先感谢!我一定会接受工作答案!
你的查询语法出了故障。 'WHERE'子句必须位于'FROM'子句和所有'JOIN'之后。一定要检查错误:'mysql_query()'调用后'if(!$ result)echo mysql_error();'' – 2014-09-03 16:07:43
备注:另请参见[为什么不应该在PHP中使用mysql_函数](http:// stackoverflow。问题/ 12859942/why-shouldnt -i-use-mysql-functions-in-php) – 2014-09-03 16:09:33
@MichaelBerkowski通过你所说的做。错误消失了,但json是空的。 mysql查询中有更多错误吗? – BuddyBud 2014-09-03 16:10:38