Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
搜索多个变量php/mysqli_Php_Variables_Mysqli - Fatal编程技术网

搜索多个变量php/mysqli

搜索多个变量php/mysqli,php,variables,mysqli,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->

我想找出搜索多个变量的最佳方法

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();

尽管您可能想看看为使用分配变量的方式。根据我的经验,
$\u POST
每个简单变量需要这么多索引是不正常的;必须有更好的方法为您编写代码

请注意,您的
bind_param()
在此处无法正常工作,因为您刚刚将
$value
插入查询中。改为使用:
$stmt=$mysql->prepare(“从表中选择*,其中$column类似“%”)