回答編集履歴
1
順番待ち替えが原因と確定したので追記
    
        answer	
    CHANGED
    
    | @@ -26,4 +26,23 @@ | |
| 26 26 | 
             
             kind,    $stmt->bindValue(23, $kind, PDO::PARAM_STR);
         | 
| 27 27 | 
             
            ```
         | 
| 28 28 |  | 
| 29 | 
            -
            比較した
         | 
| 29 | 
            +
            比較した
         | 
| 30 | 
            +
             | 
| 31 | 
            +
             | 
| 32 | 
            +
            # 順番待ち替え対策
         | 
| 33 | 
            +
            ```
         | 
| 34 | 
            +
            <?php
         | 
| 35 | 
            +
            /* バインドされた PHP 変数によってプリペアドステートメントを実行する */
         | 
| 36 | 
            +
            $calories = 150;
         | 
| 37 | 
            +
            $colour = 'red';
         | 
| 38 | 
            +
            $sth = $dbh->prepare('
         | 
| 39 | 
            +
            SELECT name, colour, calories 
         | 
| 40 | 
            +
              FROM fruit 
         | 
| 41 | 
            +
             WHERE calories < :calories AND colour = :colour');
         | 
| 42 | 
            +
            $sth->bindValue(':calories', $calories, PDO::PARAM_INT);
         | 
| 43 | 
            +
            $sth->bindValue(':colour', $colour, PDO::PARAM_STR);
         | 
| 44 | 
            +
            $sth->execute();
         | 
| 45 | 
            +
            ```
         | 
| 46 | 
            +
            のように namebind を利用しましょう
         | 
| 47 | 
            +
             | 
| 48 | 
            +
            `?` の代わりに `:bindname` のように `:` と `項目名` を結合して bindValue の第一引数に `:bindname` を設定しましょう。
         | 
