###前提・実現したいこと
PHPにて、MySQLより、検索機能を実装したいと考えております。
example.htmlに検索ボタンをつけ、POSTで値(nm)をkensaku.phpにとばして
DBから条件にあった値(nm)のみ引っ張ってくる検索ページを作りたいと考えております。
###発生している問題・エラーメッセージ
PHP Parse error: syntax error, unexpected 'mysqli_result' (T_STRING) in ./hp/kensaku.php on line
###example.html
<form action = "kensaku.php" method="post"> 名前:<input type="text" name="nm"> <input type="submit" name="exec" value="検索"> </form>
###kensaku.php
<html> <body> <? // ログに記録する ini_set('log_errors','On'); // ログの保存先 ini_set('error_log','/log/php_error.log'); //データベースに接続 if (!$con = mysqli_connect("localhost", "userid", "PW", "DBname")) { echo "接続エラー" ; exit ; } //データベースを選択 if (!mysqli_select_db($con , "DBname")) { echo "データベース選択エラー" ; exit ; } //変数nmにフォーム「nm」の値を代入 if(isset($_POST['nm']))$nm=(string)filter_input(INPUT_POST, 'nm'); //フォームで送られてきた条件を元にSELECT文を作成 $sql = "select * from kensaku_tbl where spot like '%${nm}%' " ; //SELECT文を実行 if ($result = mysqli_query($con, $sql)){ // 結果を出力します。 while ($row = mysql_fetch_array($result)) {echo $row[0] . "\n";} // 結果セットを開放します mysqli_free_result($result); echo "SQLエラー<BR>" ; exit ; } //検索結果表示 echo "<table border=1>" ; echo "<tr><td>time</td><td>spot</td><td>purpose</td></tr>" ; //以下エラー箇所↓ while ($row = mixed mysqli_result::fetch_array([int $result = MYSQLI_BOTH ])) { echo "<tr>" ; echo "<td>" . $row["time"] . "</td>" ; echo "<td>" . $row["spot"] . "</td>" ; echo "<td>" . $row["purpose"] . "</td>" ; echo "</tr>" ; } echo "</table>" ; //結果セットの開放 mysqli_free_result ($result) ; //データベースから切断 mysqli_close($con) ; ?> </body> </html>
###試したこと
PHPは初めてで、オブジェクト指向型と手続き型が??で、値がうまく引っ張れてないような気がするのですが、
どのようにしたらいいか皆目検討つかず。。。
コメントアウトとエラーメッセージ出力するぐらいです。。。
###補足情報(言語/FW/ツール等のバージョンなど)
PHPMyadmin 5.6.10
回答1件
あなたの回答
tips
プレビュー