2012-04-26 58 views
0

我有許多領域,如財產,臥室,大小等的MySQL數據庫顯示MySQL數據從菜單

我有被包含在數據庫

內提交當與數據的兩個下拉列表我希望打開一個新頁面顯示結果的選項。我收到錯誤消息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; 
} 

?> 

回答

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; 
} 

?> 
+0

儘管如此,你仍然不會工作,因爲SQL查詢格式不正確。 :( – Blake 2012-04-26 01:44:16

0

試試這個:

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

您的SQL是的malformatted,需要執行查詢。

+0

多數民衆贊成,因爲我得到它的工作..如果我想使用超過2個變量,我有$財產和$臥室此刻我使用AND語句,如果我想你說4個其他變量(如$ sleep_min和$ price) – Dave 2012-04-26 02:23:53

+0

只需添加更多的語句,比如'AND sleep ='{$ sleep_min}'AND ... etc' Upvotes並標記正確的答案很重要,請記住:) – Blake 2012-04-26 02:29:06

+0

猜測它應該是'$ result = mysql_query ($ query);'與你的循環一起工作。如果給出標記答案作爲答案。 – Blake 2012-04-26 03:33:23