Вы используете прямое присваивание для $search
, когда вы хотите присвоение массива. Это означает, что когда вы собираетесь взорвать его, он, вероятно, возвращает false (??? Я никогда не подавлял предупреждения о взрывах. Я понятия не имею, что это делает). Это неправильно при добавлении в $ sql. Затем вы добавляете $ sort и $ limit к $ sql, а затем снова добавляете $ sql для хорошей меры перед вызовом mysql_query. Вы также не проверяете, имеют ли значения $ _REQUEST ['city'] и $ _REQUEST ['desitination'].
Ваш окончательный результат (худший случай):
select * FROM properties WHERE type= "'.$type.'" and select * FROM properties WHERE type= "'.$type.'" and order by added asc Limit 0,10
Ваш окончательный результат (лучший случай):
select * FROM properties WHERE type= "'.$type.'" and city = 'Atlanta' select * FROM properties WHERE type= "'.$type.'" and city = 'Atlanta' order by added asc Limit 0,10
Добавьте это вверху:
$search = array();
, а затем в любое время вы хотите добавить $search
:
$search[] = ' district = '.$_REQUEST['district'];
И заменить эту строку $searchResults = mysql_query($sql.$sql_with_limit);
на:
$searchResults = mysql_query($sql_with_limit);
Кстати, вы просите инъекции SQL здесь. Каждый раз, когда вы извлекаете значение из $_REQUEST
, вы должны использовать mysql_real_escape_string
.