"
我在设置一个登陆验证,从 页面$_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 执行的话,或者打印出来,格式也不太对。
"
<a href=""http://my.oschina.net/kopa"" target=""_blank"" rel=""nofollow"">@林伟盛
<pre class=""brush:php; toolbar: true; auto-links: false;"">$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')).'`';
这是什么写法?
######回复 @Tuesday : 打错了,哈######回复 @林伟盛 : array_keys('$arr') 单引号呢, 你确定?######print_r出来 `user`###### 打印出来,select * from `admin_user`where `user`,`password` = 'kopa','3363064' 格式不太对。选择数据库和对比账号密码,应该是`user`='kopa'这样,求解怎么破######完整代码
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`,`password` = 'kopa','3363064' 格式不太对
希望大家指出问题
######你都会用逗号拼,就不会用and拼?######希望指教######$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掉了
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。