SQL - 搜索表

时间:2016-11-26 16:55:18

标签: php mysql sql

  $whereClauses = array(); 
  if (! empty($_POST['house'])) $whereClauses[] ="type='".mysqli_real_escape_string($conn,$_POST['house'])."'"; 
  if (! empty($_POST['price'])) $whereClauses[] ="rate ".mysqli_real_escape_string($conn,$_POST['price']).""; 
  if (! empty($_POST['any'])) $whereClauses[] ="title or area or postcode LIKE '%".mysqli_real_escape_string($conn,$_POST['any'])."%'"; 
  $where = ''; 
  if (count($whereClauses) > 0) { $where = ' WHERE '.implode(' AND ',$whereClauses); }

我似乎无法使用类似的声明来工作,例如它不会显示任何匹配标题列的结果,如果有一个区域列,我希望显示所有匹配。此外,每当我使用第3个if语句时,它会忽略前两个,例如我只想要价格超过1000英镑的房子,当我使用它时,它会显示下面的房子。

sql其中:WHERE type ='House'AND rate> 150 AND AND OR区域或邮政编码LIKE'%s%'

0 个答案:

没有答案