我在设置一个登陆验证,从 页面$_POST过来一个数组,包含 user,password,verify的信息。
假设 $arr = $_POST;//获取的字段,包含 user,password,verify的信息
$table = 'admin_user';//表名
我需要查询,并且验证用户名密码是否匹配,设置一个函数
function select($table,$arr){
 $str = '`'.implode('`,`', array_keys('$arr')).'`'; 
     foreach($arr as $val){
         $val = "'".$val."'";
 }
     $arr = "'".implode("','", $arr)."'";
     $sql = "select * from `{$table}`where {$str} = {$arr}"; 
 现在的问题是,怎么把数组中不需要的元素 verify 验证码去掉,然后进行比对
 
}
如果mysql_query 执行的话,或者打印出来,格式也不太对。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
$not_needed = ['verify', ];
foreach($post as $item => $value){
	if(!in_array($item, $not_needed)){
		$here[] = '`' . $item . '`="' . $value . '"';
	}
}
$here = implode(' and ', $here);
$sql = 'select * from table_name where ' . $here; 
 
 
 
 
unset($arr['verify']);
 
 
$str = '`'.implode('`,`', array_keys('$arr')).'`';
array_keys('$arr') function select($table,$arr){
 unset($arr['verify']);
 $str = '`'.implode('`,`', array_keys($arr)).'`';
 foreach($arr as $val){
 $val = "'".$val."'";
 }
 $arr = "'".implode("','", $arr)."'";
 $sql = "select * from `{$table}`where {$str} = {$arr}";
 print_r($sql);
 // $query = mysql_query($sql);
 // return $query;
 
 
 }
 打印出来的效果: 
打印出来,select * from `admin_user`where `user`= ‘kopa’ and `password` = '3363064'
$not_needed = ['verify', ];foreach($post as $item => $value){ if(!in_array($item, $not_needed)){ $here[] = '' . $item . '="' . $value . '"'; } }
$here = implode(' and ', $here); $sql = 'select * from table_name where ' . $here;
 
 
 
 
 function select($table,$arr){
     foreach ($arr as $key => $value) {
     $here[] = '`'.$key.'`='.$value;
 }
     $here = implode(' and ', $here);
     $sql = "select * from $table where ".$here;
     print_r($sql);
 //验证码环节在提交的时候unset掉了 }