私はユーザーが情報を入力するフォームを用意しています。フォームが送信された後、ユーザーが入力した値でデータベースに照会する必要があります。MYSQLクエリでヌル値を無視します。
私の問題は、ユーザーが入力した値の一部がnullの場合は、クエリから削除する必要があります。
これは私のコードです:$negocio
、$imovel
、$concelho
と$freguesia
がnull
に等しい場合
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";
}
を想像し、クエリは次のようになります。
$query = "SELECT * FROM imoveis WHERE distrito = $distrito;
私はこれをどのように行うことができますか?
あなたはに沿って、OR'の代わりにAND'の 'の'使用するか、CASEとサブクエリを使用することができます'IS NULL'を返します。変数が文字列であるかどうかは不明であり、dbスキーマはこのためです。 –
申し訳ありませんが、私の変数はintです。 –
Alexandre 2つの答えがあり、どちらも正しいです。混乱しているともう一度それらを読んでください。 –