我有一个类似的关联数组
$where = array('name'=>'name','comp'=>'companyname')
这是我的查询
select * from tablename where = $where;
我想生成一个mysqli查询
select * from tablename where name = 'name' and comp = 'companyname';
答案 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)));