<?php
//HTTPヘッダーで文字コードを指定
header("Content-Type:text/html; charset=UTF-8");
?>
<?php

//h()関数の読み込み
require_once 'h.php';
//checkinput()関数の読み込み
require_once 'checkinput.php';

//POSTされたデータのチェック
$_POST = checkinput($_POST);

//三項演算子で検索文字列の有無を判定し処理
$data = isset($_POST['data']) ? trim($_POST['data']) : '';
//入力された検索文字列をexplode()関数で半角スペースで区切って配列に代入
//全角スペースはmb_convert_kana()関数で半角スペースに変換
$datalist = explode('', mb_convert_kana($data, 's'));
//値が空の要素を削除
$datalist = array_filter($datalist,function($val){
    return $val != '';
});
//値でソートしてキーを0から振り直す
sort($datalist);
?>

この部分が1行目~27行目のコードになっています。 エラーメッセージにはline 10とあるので、require_once 'checkinput.php'; の周辺だと思うのですが周辺をいじっても解決しませんでした。

cehckinput.phpはこのコードの書かれたファイルと同じ階層に存在しています。

ちなみにそれ以降のコードは以下のとおりで、

<?php
if(!empty($datalist)){
    //データベース設定の読み込み
    require_once __DIR__ .'database.php';

    try{
        //mysqlデータベースに接続
        $db = new PDO($dsn,$dbUser,$dbPass);
        //プリペアドステートメントのエミュレーションを無効にする
        $db->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
        //エラーが発生した場合、例外がスローされるようにする
        $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

        //sql文の準備
        //検索文字列の数だけ[:data0][:data1]…のようにプレースホルダを用意
        $where = '';
        foreach ($datalist as $key => $value) {
            $where .= sprintf('AND name LIKE :name%d , $key');
        }
        $sql = 'SELECT * FROM goods WHERE 1' . $where;

        $prepare = $db->prepare($sql);

        //sql文のプレースホルダに値をバインドしてクエリを実行
        for($i = 0; $i < count($datalist); $i++){
            //検索文字列の中のワイルドカード文字及びエスケープ文字をエスケープ
            $link = preg_replace('/([_%\\\\])/u', '\\\\$1', $datalist[$i]);
            $prepare->bindValue(':name'.$i, '%' .$link .'%', PDO::PARAM_STR);
        }
        $prepare->execute();
        $result = $prepare->fetchAll(PDO::FETCH_ASSOC);

        if(count($result) == 0){
            print '<p>「'.h($data).'」はデータベースに登録がありません</p>';
        }else{
            print '<p>「'.h($data).'」はデータベースに登録がありました</p>';
?>
            <p>検索結果</p>
            <table>
            <tr>
                <th>ID</th>
                <th>商品名</th>
                <th>価格</th>
            </tr>
<?php
            foreach ($result as $row){
?>
            <tr>
                <td><?php h($row['id']) ?></td>
                <td><?php h($row['name']) ?></td>
                <td><?php h($row['prace']) ?></td>
            </tr>
<?php
            }
            print '</table>';
        }

        $sql = 'SELECT * FROM goods';
        $prepare = $db->prepare($sql);
        $prepare->execute();
        $result = $prepare->fetchAll(PDO::FETCH_ASSOC);

?>
            <p>データベースの内容一覧</p>
            <table>
            <tr>
                <th>ID</th>
                <th>商品名</th>
                <th>価格</th>
            </tr>
<?php
            foreach ($result as $row){
?>
            <tr>
                <td><?php h($row['id']) ?></td>
                <td><?php h($row['name']) ?></td>
                <td><?php h($row['prace']) ?></td>
            </tr>
<?php
            }
            print '</table>';

//接続でいない場合、PDOException例外がスローされるのでキャッチする
    }catch(PDOException $e){
        print 'エラーが発生しました。。 内容:' . h($e->getMessage());
    }
}
?>

こうなっています。

長くなって申し訳ないですが、力を貸していただきたいです。 どこがおかしいでしょうか?