PHPでDB操作(15)
$toshi=" '%" . htmlspecialchars($_POST["kensaku"]) . "%' ";
前回の続きで、上記コードの変数$toshiに代入されるものは、都市名入力欄に青森市と入力すれば
'%青森市%'
となります。青森市前後にある%ですが、これはSQLのワイルドカードで、0文字以上の任意の文字列を表します。青森市では例が悪いので、入力欄に 福 と入れたとして、SQLを実行すると以下の結果が得られます。

つまりは、”福”が含まれている都市をすべて検索し表示するということができます。これは
$sql="SELECT * FROM population WHERE shi like" . $toshi;
の右辺のSQL文で実装されます。SQL文解釈は英語そのままですが、
「population」(データベース名)から「shi」(フィールド名)が「%福%」に似たものを「*」選択せよ。
という命令です。この「*」はおなじみのワイルドカードで、すべてという意味です。そのため、「福」を含む都市がすべて羅列されるといった具合になります。