以下のクエリを発行する際に、私は1つの問題に直面しています。私は何が間違っているのか分かりません。空の値を持つmysql selectクエリ
$start= date("y-m-d", strtotime($start));
$end= date("y-m-d", strtotime($end));
// $start = '2016-03-03';
// $end= '2016-04-04';
if($jobtitle == ''){
$jobtitle = true;
}
if($start == '' or $end == ''){
$start = true;
$end = true;
}
$result = $mysqli->prepare("SELECT *
FROM postdata
where id = ?
and title = ?
and (date between ? and ?)
order by date desc");
$result ->bind_param("isss", $id, $title, $start, $end);
$result->execute();
実際に私は3つのフィールドを持つフォームを持っています。 1タイトルなど2は日付の開始と終了です。
タイトルに値を入力するか、フォームに開始日と終了日を入力します。ユーザーは両方のフィールドに値を入力することもできます。データがユーザによって提出されたら、データベースで検索を実行したい。
なぜ私のクエリが機能していないかアドバイスしてください。
簡単なコードのインデントは、**、それはまた、はるかに簡単になり – RiggsFolly
'の=をデバッグを読み取るためのコードが容易になりassignment'で、' ==もしくは=== '平等のテストだけではなく。 – RiggsFolly
'title = '%%''は、 'title'列の内容は' %% 'と' %%'のみを含んでいなければなりません。あなたはLIKEを使用しておらず、それは '%'文字に応答する唯一の構文です – RiggsFolly