這應該是一個基本問題,但我很長一段時間沒有使用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