Mysql按多个字段搜索

时间:2017-02-27 10:56:48

标签: php mysql mysqli

我正在使用php创建搜索选项。我希望在用户根据给定字段提供多个字段时进行搜索我需要从数据库中获取记录。以便清楚地了解我需要做的是下面的搜索界面选项

when user click go in form submit i need to get user given filds and fetch record according to given search crieteria

所以我看了很多选项,我发现下面的效率很高

SectionFragment
  

但我得到$ sth作为未定义的变量,所以有效的方式或者我可以纠正这个错误。如果任何人都可以帮助升值。

1 个答案:

答案 0 :(得分:0)

这个代码只能用PDO工作(即使你反向错误的命令准备一个被调用的执行)。

对于mysqli,您必须始终明确地绑定您的值,这在后面是一个明显的痛苦。幸运的是,自PHP版本5.6 there is an argument unpacking operator that helps

$stmt = $db->prepare($query);
$types = str_repeat('s', count($params));
$statement->bind_param($types, ...$params);
$statement->execute();
$res = $statement->get_result();
$data = $res->fetch_all();

但是,如果您的PHP版本不满足此要求或不支持get_result()函数,我强烈建议忘记mysqli并转向PDO。这将使您的代码更简单,并且 - 这更重要 - 可以适用于任何PHP版本,无论如何:

$sth = $dbh->prepare($query);
$sth->execute($params);
$data = $sth->fetchAll();