mysql_query, где оператор

Я получаю значения от URL с ПОЛУЧИТЬ методом и затем использую, если оператор для определения они там, затем запрашивают их против базы данных, чтобы только показать те объекты, которые соответствуют им, я получаю неизвестную ошибку с запросом. вот мой код

$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*/
6
задан Robby Cornelissen 18 August 2014 в 04:27
поделиться

1 ответ

Вам нужны одинарные кавычки вокруг ваших строк в 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) . "'"
6
ответ дан 17 December 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: