0
我得到了下面的代码,这是类似的形式搜索引擎与多个输入其中结果是绝对有关的字符数量等(完美匹配) 。如何在下面的代码中进行LIKE搜索?
// build array of field names=============================================================================
$fields=array('user','customer','vessel','country',
'port','eta','service_station','type_of_service',
'case_reference','status');
// initialize empty array for WHERE clauses
$wheres=array();
// loop through field names, get POSTed values,
// and build array of WHERE clauses, excluding false values
foreach ($fields as $field) {
// get existing field value from POST, mark missing or empty value as FALSE
${$field} = isset($_POST[$field]) && trim($_POST[$field])!=''
? trim($_POST[$field]) : false;
// add to array of WHERE clauses only if value is not FALSE
if (${$field}) { $wheres[]="$field='".${$field}."'"; }
}
// build SELECT statement from WHERE clauses
$sql="SELECT * FROM jobs WHERE ".
(!empty($wheres) ? implode(" AND ",$wheres) : '1=1').
";";
我想要做的是什么形式
<label for="special">Special Search</label>
<input type="text" name="special" id="special_search">
当用户将能够在case_reference栏来搜索并获得比赛第4,结果添加输入个字符。我还希望这个新的输入与其他的一样,就AND或OR和TRUE或FALSE语句而言与其他的一样。
感谢所有帮助谢谢提前:)
UPDATE:不是重写整个事情的,我想出了下面的代码在我以前的开头:
$joker = $_POST['special'];
$joker1 = substr($joker1, 0, 4);
if(isset($_POST['case_reference']) && !empty($_POST['case_reference'])
&& empty($_POST['special'])) {
} else { $_POST['case_reference'] = $joker1; }
这是现在工作,但任何人都可以确认将来会好吗?
您可以使用SELECT * FROM
小问题,但是你的代码对SQL注入攻击是开放的。 – Kickstart
回答
改写避免变量变量名称,并使用mysql_real_escape_string(虽然你使用mysqli或PDO): -
来源
2013-11-27 12:53:58 Kickstart
从SQL:
只需简单地增加一个变量特殊:
获取数据,然后将其添加到SQL语句
来源
2013-11-27 12:33:17
相关问题