0

プロパティ、ベッドルーム、サイズなどの多くのフィールドを持つMYSQLデータベースがあります

データベース内に含まれるデータを含む 2 つのドロップダウン リストがあります。

オプションを送信するときに、新しいページを開いて結果を表示する必要があります。エラー メッセージ mysql_fetch_assoc() が表示されます: 提供された引数は有効な MySQL ではありません。これを修正する方法がわかりません。非常に感謝しています...私はSQLインジェクションについて知っており、このセクションを最初に機能させた後、これを修正しようとしています

HTML

     <form method="get" action="submit.php">

     Number:  <select name="property">
     <option value="Aviemore House">Aviemore House</option>
     <option value="Dalfaber House">Dalfaber House</option>
     </select>
     <br>

     Name: <select name="bedrooms">
     <option value="2">2</option>
     <option value="3">3</option></select>
     <br>

    <input type="submit" value="submit" />
    </form>

PHP

 <?php

 require 'defaults.php';
 require 'database.php';


 $property = $_GET['property'] ;
 $bedrooms = $_GET['bedrooms'] ;

 $query = "select FROM properties where property = '$property' & bedrooms = '$bedrooms'";

 while ($row = mysql_fetch_assoc($result))
 {
$r[] = $row;
 }

 ?>
4

2 に答える 2

0

代わりにこれを試してください:

$query = "SELECT * FROM `properties` WHERE property = '{$property}' AND bedrooms = '{$bedrooms}'";
$row=mysql_query($query);

SQL の形式が正しくないため、クエリを実行する必要があります。

于 2012-04-26T01:30:38.257 に答える
0

クエリを実行するのを忘れました!

<?php

 require 'defaults.php';
 require 'database.php';


 $property = $_GET['property'] ;
 $bedrooms = $_GET['bedrooms'] ;

 $query = "select FROM properties where property = '$property' & bedrooms = '$bedrooms'";
 $result = mysql_query($query); // <-- You forgot this
 while ($row = mysql_fetch_assoc($result))
 {
    $r[] = $row;
 }

 ?>
于 2012-04-26T01:29:37.317 に答える