こんにちは。現在PHPを独学で学習しています。
現在、データベースにある情報を複数の条件で検索したいのですが、検索結果が表示されません。

具体的に、htmlは表示されますが、検索結果(データベースに入っている情報)が表示されません。

表示されないのは何故なのか、もしお分かりの方がいましたら、ご教授ください。

  1. SQLが発行できていない
  2. データベースに接続できていない。
  3. その他

もしくは、現在のコードをベースに、複数検索できるコードがありましたら、教えて頂けますでしょうか。

現在のコード

<form method="post" action="searchtest.php">
<div class="studentinfo">

<p>顧客番号:   <input type="text" name="id"></p>
<p>担当者:     <input type="text" name="Staff_Name"></p>
<p>ステータス: <input type="text" name="Status"></p>
</div>

<div class="Schoolinfo">
<p>名前:          <input type="text" name="Name"></p>
<p>キャンパス:    <input type="text" name="Campus" ></p>
<p>コース開始日:  <input type="date" name="Start_Date" ></p>
</div>
<div>
<input type="submit" value="検索する">
</form>

searchtest.php

<?php

$search    =filter_input(INPUT_POST,'search');
$id        =filter_input(INPUT_POST,'id');
$Staff_Name=filter_input(INPUT_POST,'Staff_Name');
$Status    =filter_input(INPUT_POST,'Status');
$Name      =filter_input(INPUT_POST,'Name');
$Campus    =filter_input(INPUT_POST,'Campus');
$Start_Date=filter_input(INPUT_POST,'Start_Date');

if(!is_null($search)){
  $sql ="SELECT * FROM studentinfo WHERE 1 ";
  $data=[];

  if(!is_null($id)){
    $sql.="AND id=? ";
    $data[]=$id;
  }
  if(!is_null($Staff_Name)){
    $sql.="AND Staff_Name LIKE ? ";
    $data[]="%".$Staff_Name."%";
  }
  if(!is_null($Status)){
    $sql.="AND Status=? ";
    $data[]=$Status;
  }
  if(!is_null($Campus)){
    $sql.="AND Campus LIKE ? ";
    $data[]="%".$Campus."%";
  }
  if(!is_null($Name)){
    $sql.="AND Name LIKE ? ";
    $data[]="%".$Name."%";
  }
  if(!is_null($Start_Date)){
    $sql.="AND Start_Date=? ";
    $data[]=$Start_Date;
  }
  if(count($data)==0) $sql.="AND 0 ";

  $stmt = $pdo->prepare($sql);
  $stmt->execute($data);
}
?>

よろしくお願いいたします。