mysql_query где заявление - PullRequest
6 голосов
/ 17 мая 2010

Я извлекаю значения из URL с помощью метода GET, а затем использую оператор if, чтобы определить их наличие, затем запрашиваю их в базе данных, чтобы показать только те элементы, которые соответствуют им, я получаю неизвестную ошибку с вашим запросом. вот мой код

$province = $_GET['province'];
$city = $_GET['city'];

if(isset($province) && isset($city) ) {         
  $results3 = mysql_query("SELECT * 
                            FROM generalinfo 
                           WHERE province = $province 
                             AND city = $city  ") 
                       or die( "An unknown error occurred with your request");          
} else {             
  $results3 = mysql_query("SELECT * FROM generalinfo");  
} /*if statement ends*/

1 Ответ

6 голосов
/ 17 мая 2010

Вам нужны одинарные кавычки вокруг строк в SQL:

"SELECT * FROM generalinfo WHERE province='$province' AND city='$city'"

Обратите внимание, что создание запроса таким способом может привести к уязвимости SQL-инъекций. Попробуйте вместо этого использовать mysql_real_escape_string .

"SELECT * FROM generalinfo WHERE province='" .
mysql_real_escape_string($province) . "' AND city='" .
mysql_real_escape_string($city) . "'"
...