我試圖用php建立一個sql查詢,其中每個GET變量(如果設置)都被追加到查詢中。因此,例如:用PHP參數構建mySQL查詢 - 「第一個AND」
$dbQuery = "SELECT * FROM orders WHERE deleted = 0 AND ({$dueQ} {$paidQ} {$completedQ} {etc. etc. etc.}) ";
,每個參數都創建像這樣:
$due = $_GET['due'];
if (isset($due)) {
$dueQ = " AND due = '0'";
}
所以我檢查,看看每個獲得的參數設置,那麼如果是這樣,並稱字符串到查詢。
我的問題是這樣的...... 如何創建查詢,使第一個參數不以「AND」開頭?由於我不知道哪個將作爲追加到查詢中的第一個參數,因此我無法找到解決此問題的方法,而不是以「AND」開頭。現在查詢顯示「AND due ='0'AND ...」。合理?
如果這一切都'和'的條件下,沒有必要對括號,你可以將其添加後直接刪除'= 0'。如果您打算使用發送的值,則應該使用準備好的語句。 – jeroen
不想讓事情與我的問題複雜化,但也有和和/或參數,所以他們可以是和或或在括號內。 – user2755541