搜索多个变量php / mysqli

时间:2012-03-27 13:40:53

标签: php variables mysqli

我试图找出搜索多个变量的最佳方法。

include('connection.inc.php');

$column= $_POST['filter'][0][columnName];
$value = $_POST['filter'][0][value];

$stmt = $mysql->prepare("SELECT * from TABLE WHERE $column like '%?%'");
$stmt -> bind_param('s', $value);
$stmt->execute();

我想要做的是搜索多个列超过一个术语。 IE:搜索列名称为“bob”和列地址为值“boston” 由于列名和值名都是数组中的变量,我想知道最好的方法是什么。谢谢!

1 个答案:

答案 0 :(得分:0)

只需在where子句中添加一个附加参数:

$column1 = $_POST['filter'][0][columnName];
$value1 = $_POST['filter'][0][value];
// Add your other variables here

$column2 = $_POST['filter'][1][columnName];
$value2 = $_POST['filter'][1][value];


$stmt = $mysql->prepare("SELECT * from TABLE WHERE $column1=? AND $column2=?");
$stmt -> bind_param('ss', $value1,$value2);
$stmt->execute();

虽然您可能想要查看为使用分配变量的方式。根据我的经验,每个简单变量需要这么多索引的$_POST是不正常的;必须有更好的方法来编码它。