我试图找出搜索多个变量的最佳方法。
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” 由于列名和值名都是数组中的变量,我想知道最好的方法是什么。谢谢!
答案 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
是不正常的;必须有更好的方法来编码它。