DBのデータを抽出できる検索ページを作りました。(index.php)
ただ、条件を指定してもその条件通りのレコードを上手くDBから引っ張って来れません、、、

[実現したいこと]
以下の検索フォーム(index.html)にて、検索した条件とマッチするにレコードをブラウザに表示させたいです。

[うまくいっていること]

print $sql.";<br>".PHP_EOL;
print_r($data);

上記の結果は以下の通りブラウザに表示されます。(都道府県->東京、分類->保育園で指定した場合)

SELECT * FROM zenkoku where 1AND prefecture = ? AND type = ? ;
Array ( [0] => 東京都 [1] => 保育園 )

[うまくいかないこと]
上記の[うまくいっていること]の場合でもそのほかの場合でも下記のようなエラーが出ます。

Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'prefecture = '東京都' AND type = '保育園'' at line 1

[教えて欲しいこと]
エラーがなぜ出ているかと、その原因をご教示いただけますか?

[環境]
ローカル開発環境、MacOSX,mysql

index.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<tittle>入力フォーム</title>
</head>
<body>
<form method="post" action="SEARCH_Show.php"><br>
名称<br>
<input type="text" name="name" size="60" maxlength="30" value=""><br>
電話番号<br>
<input type="tel" name="tel" size="30" maxlength="12" value=""><br>
担当者名<br>
<input type="text" name="person_name" size="30" maxlength="20" 
value=""><br>
都道府県<br>
<select name="prefecture"><br>
<option value="全て">全て</option>
<option value="東京都">東京都</option>
<option value="神奈川県">神奈川県</option>
<option value="千葉県">千葉県</option>
<option value="埼玉県">埼玉県</option>
<option value="北海道">北海道</option>
<option value="宮城県">宮城県</option>
<option value="愛知県">愛知県</option>
<option value="大阪府">大阪府</option>
<option value="福岡県">福岡県</option>
</select><br>
市区町村<br>
<input type="text" name="city" size="30" maxlength="30" value=""><br>
分類<br>
<select name="type"><br>
<option value="全て">全て</option>
<option value="保育園">保育園</option>
<option value="幼稚園">幼稚園</option>
<option value="サークル">サークル</option>
<option value="その他">その他</option>
</select><br>
<button type="submit" class="">検索</button>
</form>
</body>
</html>

index.php

            <?php
            require 'Manager.php';
            require 'Escape.php';
            ini_set('display_errors',1);
            ?>
            <!DOCTYPE html>
            <html lang = "ja">
            <head>
            <meta charset ="UTF-8">
            <tittle>登録ページ</tittle>
            </head>
            <body>
            <table border='1' class="TableStyle1" width="1000">
            <tr>
            <th>名称</th>
            <th>都道府県</th>
            <th>市区町村</th>
            <th>番地</th>
            <th>区分</th>
            <th>電話番号</th>
            <th>担当者名</th>
            <th>部数</th>
            <th>設置/配布</th>
            <th>消去</th>
            </tr>
            <?php
            try{
                $db = connect();
                 $name=filter_input(INPUT_POST,'name');
                 $tel=filter_input(INPUT_POST,'tel');
                 $person_name=filter_input(INPUT_POST,'person_name');
                 $prefecture=filter_input(INPUT_POST,'prefecture');
                 $city=filter_input(INPUT_POST,'city');
                 $type=filter_input(INPUT_POST,'type');


                 if(!is_null($name)){
                 $sql = "SELECT * FROM zenkoku where 1";
                 $data=[];
                 }
                 if($name!==""){
                 $sql.="AND name = ?" ;
                 $data[]=$name;  
                 }
                 if($tel!==""){ 
                 $sql.= "AND tel = ? "; 
                 $data[]=$tel;
                 }
                 if($person_name!==""){
                 $sql.= "AND person_name = ? ";
                 $data[]=$person_name;
                 }
                 if($prefecture!=="全て"){
                  $sql.= "AND prefecture = ? ";
                  $data[]=$prefecture;
                  }
                 if($city!==""){
                  $sql.= "AND city = ? ";
                  $data[]=$city;
                  }
                 if($type!==""){
                 $sql.= "AND type = ? ";
                 $data[]=$type;
                 }
                 print $sql.";<br>".PHP_EOL;
                 print_r($data);
                 $stmt = $db->prepare($sql);
                 $stmt->execute($data);
            while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
            ?>
             <tr>
                   <td><?php es($row['name']);?></td>
                   <td><?php es($row['prefecture']);?></td>
                   <td><?php es($row['city']);?></td>
                   <td><?php es($row['address']);?></td>
                   <td><?php es($row['type']);?></td>
                   <td><?php es($row['tel']);?></td>
                   <td><?php es($row['person_name']);?></td>
                   <td><?php es($row['copies']);?></td>
                   <td><?php es($row['set_type']);?></td>
               </tr>
            <?php
            }
            }catch(PDOException $e){
              echo $e->getMessage();
              exit;
            }
            ?>
            </table>
            </body>
            </html>