2011-10-06 68 views
1

我有把兩個地方的語句一起把2個WHERE語句一起

我當前的代碼問題:

include 'config.php'; 

$result22 = mysql_query("SELECT * FROM messages WHERE to_user='".$_SESSION['username']."'  AND to_read_yet='yes' "); 


$num_rows22 = mysql_num_rows($result22); 


echo "$num_rows22 "; 

出於某種原因,這是行不通的。我沒有得到任何結果我檢查了數據庫,並有這應該出來

+0

你必須首先有語法錯誤:字*否*周圍的雙引號。 –

+1

這就是你得到的......開發人員,特別是web開發人員,假設他們不需要學習SQL。請。爲了您自己的利益,@nickkdavies,請閱讀關於MySQL的書。當你完成它時 - 閱讀[SQM反模式](http://pragprog.com/book/bksqla/sql-antipatterns)。 –

+1

在我看來,這個問題從最初的問題已經發生了相當大的變化。如果你覺得原來的問題已經得到解答(我認爲它已經解決了),也許你應該接受一個答案並提出一個新問題? – henko

回答

3

你應該閱讀有關SQL語法的結果。在你用bool操作符放置任何數字條件之後。使用2倍where是不正確

$result = mysql_query("SELECT * FROM messages WHERE to_user='".$_SESSION['username']."'  AND to_read_yet='"no"' "); 
+0

頁面與代碼死亡 –

+0

感謝代碼工作是我自己的錯複製和粘貼錯誤的LOL –

3

離開第二WHERE表達出來,它只是WHERE condition_1和condition_2和condition_3及....

$result = mysql_query("SELECT * FROM messages WHERE to_user='".$_SESSION['username']."' AND to_read_yet='"no"' "); 
+0

對於一些resson它沒有得到任何結果將改變代碼的最高位,顯示完整的代碼現在 –

+0

我對PHP並不熟悉,但不應該是'ECHO $ Result22'而不是'ECHO「Result22」'?如果沒有'$ Result22?'的引號,您是否嘗試在數據庫管理系統中運行該命令?看看它在那裏工作? – Tjekkles

1
SELECT * 
FROM messages 
WHERE to_user = '".$_SESSION['username']."' 
    AND to_read_yet= '"no"' 
+0

對於一些resson它沒有得到任何結果將改變代碼的最高位,現在顯示的完整代碼 –

+1

你嘗試在你的DB外殼此查詢? –

1

嘗試使用:

$result = mysql_query("SELECT * FROM messages WHERE to_user='".$_SESSION['username']."'  AND to_read_yet='no' "); 
+0

對於一些resson它沒有得到任何結果將改變代碼的最高位,現在 –

1
$result = mysql_query("SELECT * FROM messages WHERE to_user='" . $_SESSION['username'] . "' AND to_read_yet='no'"); 

掛斷第二個WHERE

+0

充分展現代碼對於一些resson它沒有得到任何結果將改變代碼的最高位,現在顯示的完整代碼 –