前提
ヒットするはずの言葉を検索欄に入力してもヒットしない
例:sqlに"pagename"の列を作っています。"pagename"の内のひとつに「テスト」という言葉があり、検索欄に「テスト」と入力するとその行を表示するようにしたいです。ただ実際には「テスト」と入力しても結果が表示されないです。
実現したいこと
sqlの"pagename"の列にある言葉を検索欄に入力するとその行を表示するようにしたいです。
発生している問題・エラーメッセージ
ヒットするはずの言葉を検索欄に入力してもヒットしない
例:sqlに"pagename"の列を作っています。"pagename"上の内のひとつに「テスト」という言葉があり、検索欄に「テスト」と入力するとその行を表示するようにしたいです。ただ実際には「テスト」と入力しても結果が表示されないです。
エラーメッセージ なし
該当のソースコード
<!DOCTYPE html> <html> <head></head> <body><meta charset="utf-8"> <title>掲示板: A</title> <link rel="stylesheet" href="stylesheet.css">
</body> </html> ```html,php,sql ソースコード ```<div class="header0"> <div class="header00"> <h1 class="title">掲示板: A </h1> </div> </div> <div class="header1"> <h3><a class="terms" href="terms.html">●規約(読んでね)</a></h3> <h3><a href="newThread.php">●新規スレッド作成</a></h3> <form class="search" action="index.php" method="POST"> <h3>●スレッド検索</h3> <input class="box" type="search" name="search" placeholder="キーワードを入力"> <input class="button1" type="submit" name="submit" value="検索"> </form> <?php if (empty($_POST["search"])) { ?> <div class="new"> <h3>●新着スレッド</h3> <?php try { $pdo = new PDO('mysql:host=localhost;dbname=a_data', 'root', ''); } catch (PDOException $e) { echo $e->getMessage(); } $newThreadTitle_array = array(); $sql = "SELECT page_id ,pagename , post_time FROM `pagelist` ORDER BY page_id DESC;"; $newThreadTitle_array = $pdo->query($sql); foreach ($newThreadTitle_array as $newThreadTitle) : ?> <!--分からないときはページリンク、ページネーションでググって--> <a href="1.php?page_id=<?php print($newThreadTitle["page_id"]); ?>" class=newThreadTitle>・<?php echo $newThreadTitle["pagename"]; ?></a><br> <?php endforeach; ?> </div> <?php } else { ?> <div class="search"> <h3>●検索キーワード「<?php echo $_POST["search"]; ?>」の検索結果</h3> <?php try { $pdo = new PDO('mysql:host=localhost;dbname=a_data', 'root', ''); } catch (PDOException $e) { echo $e->getMessage(); } //https://blog.senseshare.jp/query-prepare.html#index1 $search_array = array(); $sql = $pdo->prepare("SELECT page_id , pagename FROM `pagelist` Where 'pagename' Like :search ;"); $sql->bindvalue(':search', $_POST["search"], PDO::PARAM_STR); $sql->execute(); $search_array = $sql->fetchall(PDO::FETCH_ASSOC); foreach ($search_array as $search) : ?> <!--分からないときはページリンク、ページネーションでググって--> <a href="1.php?page_id=<?php print($search["page_id"]); ?>" class=searchResult>・<?php echo $search["pagename"]; ?></a><br> <?php endforeach; } ?> </div> <div class="header2"> </div>
試したこと
1.POSTをGETにする。
2.fetchall(PDO::FETCH_ASSOC)のPDO::以降を調べて別の該当しそうなものに変更する。
ここに問題に対して試したことを記載してください。
1.症状に変化なし
2.症状に変化なし
補足情報(FW/ツールのバージョンなど)
PHP Version 8.1.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/13 04:09
2022/11/13 04:18
2022/11/13 04:38
2022/11/13 04:53
2022/11/13 04:55
2022/11/13 05:02
2022/11/13 05:08
2022/11/13 05:19
2022/11/13 05:48
2022/11/13 05:53
2022/11/13 06:03
2022/11/13 09:23