質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

406閲覧

検索窓を作ったのですが、上手いできません。どこが問題なのかご指摘お願いします。

supersyosinnsya

総合スコア6

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2022/08/09 15:21

検索窓を作ったのですが、上手いできません。どこが問題なのかご指摘お願いします。
エラー内容としては、検索しても何も反応しない感じです。select文のlike文などを取り扱うのが初めてなのでそこらへんが間違っている可能性は十分にあると思っています。(WHEREは何をしてすればいいのかわかりません。)検索できません。のエラー表示も表示されない状態です。

書いているphpスクリプトを順番に軽く説明します。
phpスクリプト
・データベースに接続
・検索窓に記入されたwordを元にsql文を作成する。
htmlスクリプト
・sqlに書かれている物を表示させている。

こんな感じです。

<?php // データベースの接続情報 define( 'DB_HOST', 'localhost'); define( 'DB_USER', 'root'); define( 'DB_PASS', ''); define( 'DB_NAME', 'board'); // タイムゾーン設定 割愛 // 変数の初期化 割愛 session_start(); // データベースに接続 try { $option = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_MULTI_STATEMENTS => false ); $pdo = new PDO('mysql:charset=UTF8;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option); } catch(PDOException $e) { // 接続エラーのときエラー内容を取得する $error_message[] = $e->getMessage(); } //ここからデータを取得する $word = filter_input(INPUT_GET, 'word'); if ( !empty($word) ) { //SQL文の実行準備 $stmt=$pdo->prepare("SELECT * FROM zero WHERE LIKE '%$word%' ORDER BY post_date "); //変数の値をバインド $stmt->bindValue(':word', $word, PDO::PARAM_STR); // SQL実行 $stmt->execute(); } else{ $error_message[] = '検索できません。'; } // データベースの接続を閉じる $pdo = null; ?> </head> <form action="" method="POST"> <p> <input type="text" name="word" placeholder="キーワードを入力" size="40"><input type="submit" value="検索"> </p> </form> <hr> <section> <?php if( !empty($stmt) ){ ?> <?php foreach( $stmt as $value ){ ?> <article> <div class="info"> <h2><?php echo "名前: ".htmlspecialchars( $value['view_name'], ENT_QUOTES, 'UTF-8'); ?></h2> <h2><?php echo "ID:".htmlspecialchars( $value['ID'], ENT_QUOTES, 'UTF-8'); ?></h2> <time><?php echo date('Y年m月d日 H:i', strtotime($value['post_date'])); ?></time> </div> <?php printf ('<a href="echo.php?id=%s">%s</a>', urlencode($value['ID']), nl2br(htmlspecialchars($value['title'], ENT_QUOTES))); ?> </article> <?php } ?> <?php } ?> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

supersyosinnsya

2022/08/09 15:23

実際のスクリプトは非常に長いので検索窓に関係するもののみをピックアップしています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問