搜索多个变量php/mysqli


Search multiple variables php/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"的列地址由于列名和值名都是数组中的变量,我想知道最好的方法是什么。谢谢!

只需在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需要每个简单变量有这么多索引,这在我的经验中是不正常的;必须有更好的方法来编码它。