如何使条件从MySQL PHP数组

时间:2018-08-18 02:30:48

标签: php mysql

我有一个类似的关联数组

 $where = array('name'=>'name','comp'=>'companyname')

这是我的查询

select * from tablename where = $where;

我想生成一个mysqli查询

select * from tablename where name = 'name' and comp = 'companyname';

2 个答案:

答案 0 :(得分:0)

尝试一下。我在字符串中设置条件,并将字符串附加到查询的末尾。如果将WHERE设置为1 = 1 +“ yourstuff”,则可以动态构建查询。

$queryappnd = '';
foreach($where as $i){
    $column = array_key($i);
    $value = $i;
    $queryappnd .='AND'.$column.'='.$value;
}

$query = "SELECT *
          FROM tablename
          WHERE 1=1".$queryappnd;

答案 1 :(得分:0)

echo "select * from tablename where ".implode(' AND ' , preg_replace('/^(.*)$/e', ' "$1=\'". $where["$1"]."\'" ',array_flip($where)));