既然你已經比較property_zip值,有沒有需要檢查,如果它不爲0 。PHP代碼應該過濾,因爲如果沒有郵政編碼,查詢不需要執行(或準備),對吧?
$ my-zip在變量名中有短劃線,這在PHP中是不允許的。嘗試調用它$ myZip,$ my_zip或者那種類型的東西。
如果依賴於用戶輸入,總是會在SQL查詢中轉義任何變量。有必要從SQL injection保護您的網站。另外,如果你正在檢查一個字符串(我認爲通常應該是一個郵政編碼),那麼這部分查詢必須放在引號中。
全部放在一起,我認爲你正在尋找的代碼是類似如下:
// Check if the ZIP code isn't 0
if(!$myZip) {
throw new Exception("Invalid ZIP code entered");
}
// Building a query, quoting in single quotes and escaping the value $myZip
$zipCodeQuery = "
SELECT *
FROM property_list
WHERE property_zip = '".mysql_real_escape_string($myZip)."'
AND property_visible = 'y'
";
// Execute query here
如果不解決這個問題,這個問題可能是周圍的代碼或輸入郵政編碼。
注意:防止SQL注入的更好方法是使用預準備語句。使用「mysqli的」一個很好的例子可以在這裏找到:mysqli::prepare
怎麼樣'其中$我的拉鍊<>「」'(或空或其他) – KickingLettuce
$我-ZIP商店註冊用戶郵政編碼 – user2691372