2013-04-30 76 views
0

你好,我叫下面的教程和掙扎,因爲我到這裏我已經得到了消息,一個觀點:未知列「conversations_members」在「where子句」

Unknown column 'conversations_members' in 'where clause' 

我搜索並且看上去只是無法解決如何解決這種情況。

下面是三個表我:

對話

conversation_id | conversation_subject 

conversations_members

conversation_id | user_id | conversation_last_view | conversation_deleted 

conversations_messages

message_id | conversation_id | user_id | message_date | message_text 

這是對我造成問題的查詢。

$sql = "SELECT 
     `conversations`.`conversation_id`, 
     `conversations`.`conversation_subject`, 
     MAX(`conversations_messages`.`message_date`) AS `conversation_last_reply` 
    FROM `conversations` 
    LEFT JOIN `conversations_messages` ON `conversations`.`conversation_id` = `conversations_messages`.`conversation_id` 
    INNER JOIN `conversations_members` ON `conversations`.`conversation_id` = `conversations_members`.`conversation_id` 
    WHERE `conversations_members`= `{$_SESSION['user_id']}` 
    AND `conversations_members`.`conversation_deleted` = 0 
    GROUP BY `conversations`.`conversation_id` 
    ORDER BY `conversation_last_reply` DESC"; 

$result = mysql_query($sql); 

$conversations = array(); 

while (($row = mysql_fetch_assoc($result)) !== false) { 
    $conversations[] = array(
     'id'   => $row['conversation_id'], 
     'subject' => $row['conversation_subject'], 
     'last_reply' => $row['conversation_last_reply'] 
    ); 
} 

return $conversations; 

我有一個die(mysql_error());之前我在功能上進行拿起錯誤,如果你需要的功能齊全的代碼,我可以提供它。

有人可以幫助解釋我出錯的地方,爲什麼?

乾杯

..ps你會建議什麼?

回答

2

的錯誤是在這一行:

WHERE `conversations_members`= `{$_SESSION['user_id']}` 

基本上,錯誤說究竟意味着什麼 - 它預計在列的條件WHERE條款並沒有命名conversations_members列。因此,錯誤。您可能想要user_id列的conversations_members表代替,由$_SESSION['user_id']來判斷。

WHERE `conversations_members`.`user_id`= `{$_SESSION['user_id']}` 
+0

我想,現在,我真的認爲這是很多次,但並沒有引起他的教程中沒有它,所以我認爲這是毫無意義的 – bitchnerd 2013-04-30 01:25:20

+0

我編輯的代碼,現在我得到「mysql_fetch_assoc( ):提供的參數不是有效的MySQL結果資源...它引用的行是...「while(($ row = mysql_fetch_assoc($ result))!== false){」..但其餘部分該函數的代碼被修改爲 – bitchnerd 2013-04-30 01:29:43

+0

以上1.將!==更改爲!= 2.您能否在PHP之外運行您的查詢以檢查它是否有效?通常,該錯誤是由於查詢錯誤導致的。 – sashkello 2013-04-30 01:33:28