我有一個表單供用戶輸入一些信息。表單提交後,它應該用用戶輸入的值查詢數據庫。忽略MYSQL查詢中的空值
這裏我的問題是,如果用戶輸入的某些值爲空,它應該從查詢中刪除。
這是我的代碼:
if(isset($_POST['submit']))
{
include("../includes/header.php");
include ("../scripts/db/connect.php");
//Gets variables from $_POST
$negocio = $_POST['negocio'];
$imovel = $_POST['imovel'];
$distrito = $_POST['distrito'];
$concelho = $_POST['concelho'];
$freguesia = $_POST['freguesia'];
$query = "SELECT * FROM imoveis WHERE negocio = $negocio and imovel = $imovel and distrito = $distrito and concelho = $concelho and freguesia = $freguesia";
}
試想一下,如果$negocio
,$imovel
,$concelho
和$freguesia
等於null
,查詢應該是:
$query = "SELECT * FROM imoveis WHERE distrito = $distrito;
我怎樣才能做到這一點?
你可以使用'或'的,而不是'和'的或使用子查詢用的情況下,沿用'IS NULL'。你的變量不清楚,如果他們是字符串或不是這個數據庫模式。 –
對不起,我的變量只是int。 –
Alexandre你有兩個答案,兩者都是正確的,如果你感到困惑,再次閱讀它們 –