0
$type
=我r_areal
變量
$sqlc = "SELECT * FROM reservation where r_areal IN ('".$type."') and '".$cid."' between r_start and r_ende
or where r_areal IN ('".$type."') '".$cod."' between r_start and r_ende
or where r_areal IN ('".$type."') '".$cid."'<= r_start AND '".$cod."' >= r_ende
";
所以這是我的PHP查詢SQL。它的工作原理,但它顯示我的數據庫中的每個$type
每個sql行。但它應該只顯示f.e的所有行。參數B.我知道,一個問題是where r_areal IN ('".$type."')
只接受一次。但是,如果我刪除第二個和第三個,它會顯示所有$type
的所有行。
任何人都可以幫助我嗎?
你需要使用圓括號,否則你就會混合使用AND和OR –
這是非常容易受到SQL注入攻擊。請學會使用參數化查詢,否則您的數據很容易被損壞,刪除或被盜。 http://bobby-tables.com/解釋了這些問題(謙虛,但直截了當),也有一些例子,包括在PHP中,如何安全地在你的查詢中包含變量。 – ADyson
這段代碼實際運行嗎?在這個聲明中我看到了多個WHERE。那絕對不會運行。 – Eric