前提・実現したいこと
PHP初心者で、PHPしっかり入門教室という書籍で勉強をしています。
名前のあいまい検索(文字列を含む行の取得)を可能にしたいです。
山 と検索したら、山田太郎と山口太郎がヒットする・・・みたいなやつです。
発生している問題・エラーメッセージ
本のとおりにコードを書くと、検索すると全ての名前が表示されてしまいます。
エラーメッセージ
該当のソースコード
PHP
1ソースコード 2 3 4 $data = []; 5 6 try { 7 8 $dbh = new PDO($dsn,$user,$password); 9 $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 10 $sql ="SELECT id,name FROM user2 where name LIKE :name"; 11 $stmt = $dbh->prepare($sql); 12 $stmt->bindValue(':name', '%'.$name.'%', PDO::PARAM_STR); 13 $stmt->execute(); 14 $count = $stmt->rowCount(); 15 while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ 16 $data[] = $row; 17 } 18 }catch (PDOException $e){ 19 echo($e->getMessage()); 20 $die(); 21 } 22 ?> 23 24 <html> 25 <body> 26 <h1>会員一覧データ</h1> 27 <p><?php echo $count;?>件見つかりました。</p> 28 <table border=1> 29 <tr><th>id</th><th>名前</th></tr> 30 <?php foreach($data as $row):?> 31 <td><?php echo $row['id'];?></td> 32 <td><?php echo $row['name'];?></td> 33 </tr> 34 <?php endforeach;?> 35 </table> 36 </body> 37
回答1件
あなたの回答
tips
プレビュー