###前提・実現したいこと
・作ってる物
現在、PHPを使った検索システムを作っています。
・問題になっている所
HTMLのフォームタグの情報をMySQLにアクセスし、PHPで出力しています。
データベースにないものを検索するとエラーが発生します。
###発生している問題・エラーメッセージ
Notice: Undefined variable: table_rows in C:\xampp\htdocs\movie_flie\html\search.php on line 39
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\movie_flie\html\search.php on line 39
###該当のソースコード
PHP
1<?php 2 $hostserver = ""; //ホストサーバ 3 $user = ""; //ユーザー 4 $password = ""; //パスワード 5 $databasename = ""; //データベース名 6 $datalink = mysqli_connect($hostserver,$user,$password,$databasename); //MySQLへの接続 7 $datalink->set_charset("utf8"); //データベース側の文字コード取得 8 if($datalink->connect_error){ //エラーを返す処理 9 die("接続失敗しました。" .connect_error); 10 exit(); 11 } 12 $keyword = $_GET['movie_search']; //inputの文字列を代入 13 $get_table = "SELECT * FROM movie WHERE Name LIKE '%$keyword%'"; //セレクトのテーブル 14 $sqlquery = mysqli_query($datalink,$get_table); 15 $sqlquery_table = $sqlquery->num_rows; 16 while ($table = mysqli_fetch_assoc($sqlquery)) { 17 $table_rows[] = $table; 18 } 19 ?> 20<!DOCTYPE html> 21<html> 22 <head> 23 <link rel="stylesheet" href="../css/layout.css" type="text/css"> 24 <meta charset="utf-8"> 25 <title><?php echo "「",$keyword,"」の検索結果 - MOVIE_FLIE"; ?></title> 26 </head> 27 <body> 28 <p><?php echo "「",$keyword,"」の検索結果は"; ?><?php echo $sqlquery_table,"件ヒットしました"; ?></p> 29 <table border="1"> 30 <tr> 31 32 <td>Name</td> 33 <td>Year</td> 34 <td>Genre</td> 35 <td>Time</td> 36 </tr> 37 <tr> 38 <?php 39 foreach ($table_rows as $table) { 40 if($table){?> 41 <td><?php print(htmlspecialchars($table["Name"])); //映画作品名?></td> 42 <td><?php print(htmlspecialchars($table["Year"])); //公開した年?></td> 43 <td><?php print(htmlspecialchars($table["Genre"])); //映画ジャンル?></td> 44 <td><?php print(htmlspecialchars($table["Screening_time"])); //上映時間?></td> 45 <?php }else{ 46 print("該当する検索はありません。"); 47 } ?> 48 </tr> 49 <?php } ?> 50 </table> 51 <a class="buttondesign" href="index.html">ホーム</a> 52 </body> 53</html> 54 55
###補足情報(言語/FW/ツール等のバージョンなど)
PHP 7.0.13を使ってます。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/14 05:03