我遇到問題。這是大括號的正確位置嗎?查詢大括號位置
WHERE (Q.qus_title LIKE '%".$search_Q."%' OR Q.qus_description LIKE '%".$search_Q."%')
AND A.qus_id is null
ORDER BY
我遇到問題。這是大括號的正確位置嗎?查詢大括號位置
WHERE (Q.qus_title LIKE '%".$search_Q."%' OR Q.qus_description LIKE '%".$search_Q."%')
AND A.qus_id is null
ORDER BY
括號中WHERE子句表達式中完全相同的方式作爲代碼或數學
所以
(COND1和COND2)OR COND3
被評估將需要要麼兩個 1和2是對的或 3是對的
您的WHERE子句似乎說空缺A.qus_id
和Q.qus_title
或包含您的搜索文本(我希望您的搜索變量已正確轉義,因此不能包含撇號的等 - ala SQL注入)條目。
要嘗試找出它不工作的原因,請使用NO where子句運行查詢並檢查您是否得到結果 - 然後繼續添加條件,直到找到能夠消除太多結果的條件。
謝謝。將繼續嘗試。順便說一句, – 2010-12-18 15:57:23
。這是我用來轉義字符串的函數......這是否足夠? ----功能過濾器($ data){ \t $ data = trim(htmlentities(strip_tags($ data))); \t \t 如果(get_magic_quotes_gpc()) \t \t $數據=的stripslashes($數據); \t \t $ data = mysql_real_escape_string($ data); \t \t return $ data; } – 2010-12-18 15:58:58
@Frank - 我在2-3年內沒有完成PHP,所以我的知識可能有點過時,但對我來說這似乎相當全面。 – Basic 2010-12-18 16:03:09
它適合你嗎?你想要搜索什麼?提供一個更全面的解釋什麼是或什麼沒有發生。 – Veign 2010-12-18 15:45:10
不起作用。顯示空白。沒有錯誤,這使得它更容易混淆。我在想可能是有語法或邏輯錯誤。 – 2010-12-18 15:47:49
避免通過靜態和動態數據的字符串連接來構建SQL。使用預準備語句和綁定參數(只要您的數據庫庫支持它們 - 現在大多數都可以)。 – 2010-12-18 16:07:13