2013-06-27 30 views
0

我做了搜索表單和所有的領域都是可選的SQL SELECT,如果張貼或如果不

所以,如果我做了一個SELECT語句,並....如果有一個領域沒有貼我沒有得到任何結果 ,如果我做了SELECT語句,不然我就得到了廣泛的結果

$result= mysqli_query($con,"SELECT * FROM property WHERE 
    (Typ='$_POST[typ]' OR Purpose='$_POST[purpose]' OR City='$_POST[city]' OR a='$_POST[add]') 
        GROUP BY p_num ORDER BY Add_date DESC "); 

是有辦法的具體張貼的領域,併爲他們做選擇語句

+1

生成代碼語句在SQL(除非你想使用MySQL的if語句eeeuuurrrrgggghh),所以你必須要麼開關或一系列if語句構建條件,然後在最後創建最終的sql字符串,然後運行它 – Dave

+1

你究竟想要什麼 –

+3

關於如何不直接將用戶輸入放入查詢的強制性評論。 –

回答

1

檢查用戶是否已給定的輸入或不使用isset()函數

+0

謝謝我使用if(!empty),而不是隻是爲了確保字段不提交與空值 –

1

之前回答,第一句話:你應該使用準備好的語句來做它這是非常不安全的。

現在,對於答案,您應該事先對您的$Post變量進行任何操作/過濾/測試,在途中生成您的SQL查詢,最後使用您按位構建位查詢數據庫。

+0

謝謝我使用!空 –