作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在考虑实现一个函数来在 SQL 请求中“构建”WHERE
子句,如下所示:
"SELECT * FROM table $where"
使用如下所示的循环构建 $where
:
$arr=array("Id"=>"1","Time"=>"12:00");
function whereBuild($arr){
foreach ($arr as $key => $val){
$result.=$key.'="'.$val.'" AND ';
}
$result = substr($result, 0, -5); // removes last AND and spaces
return $result
}
$where = whereBuild($arr);
你怎么看?这有意义吗?能否以更简单/更好的方式实现?
谢谢!
最佳答案
如果您总是在查询中使用AND
,您可以构建一个数组和implode它在返回时。
$arr = array("Id"=>"1","Time"=>"12:00");
function whereBuild($arr){
$result = array();
foreach ($arr as $key => $val){
$result[] = $key.'="'.$val.'"';
}
return implode(" AND ", $result);
}
$where = whereBuild($arr);
关于php - MySql "WHERE"生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501644/
我是一名优秀的程序员,十分优秀!