2017-01-06 14 views
0

私はPHPの& mysqlを使ってバス予約システムを構築しています。 ここでは、mysqlテーブルのフィールドである "route"という検索フィールドを入力しようとしています。 結果をページに検索して印刷する際に問題があるようです。私を助けてください。mysqlデータベースからPHP検索を作成する

<?php 
$connect=mysqli_connect("localhost","root","","tsms"); 
$output =''; 
if(isset($_POST['from'])){ 
    $searchq = $_POST['from']; 
    $query = mysqli_query("SELECT * FROM bus WHERE route='$serchq' "); 
    $count = mysqli_num_rows($query); 
    if($count==0){ 
     echo "<script> 
alert('No bus services are found'); 
</script>"; 
    } else { 
     while($row = mysqli_fetch_array($query)){ 
      $imageData = $row['image']; 
      $arrival = $row['arrival_time']; 
      $departure = $row['departure_time']; 
      $type = $row['bus_type']; 
      $class = $row['class']; 
      $name = $row['bus_name']; 
      $facilities = $row['facilities']; 
      $reservation = $row['reservation_fee']; 
      $output = '<div>'.$arrival.''.$departure.''.$type.''.$class.''.$name.''.$facilities.''.$reservation.'</div>'; 
     } 
    } 
} 
echo $output; 
?> 
+1

_検索と印刷に問題があるようです。より具体的にできますか?あなたの質問は、SQLインジェクションの可能性が高いです。 –

+0

あなたはドロップダウン検索について話しています.. –

+0

これは結果を示していません。エラーもありません。 – ragnar1992

答えて

0

問題がどこにあるかはわかりませんが、SQLと "="を比較すると完璧な一致が検索されます。 と同じように "* $ serchq% ' のようなルートを使用してください。この方法でハッキングする可能性があるため、serchqからエスケープしてください。

0

検索フォームには、(ドロップダウン)入力または簡単なテキスト入力がありますか? SQLクエリでは、完全一致を検索しています。 これが問題であるかどうかを判断するには、 "route = '$ serchq'"を "LIKE $ serchq route"に変更してより広い範囲で一致させることを検討してください。また、$ serchの周りに引用符は必要ないので、それらを削除すると助けになるかもしれません。

+0

同じテーブルからルートを取得しているのはドロップダウンです。ユーザはルートを選択する機会を得て、彼の選択に従ってバスをディスパージすべきである – ragnar1992

関連する問題