我正在考虑实现一个函数来"构建" WHERESQL请求中的子句,如下所示:
"SELECT * FROM table $where"
Run Code Online (Sandbox Code Playgroud)
$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);
Run Code Online (Sandbox Code Playgroud)
你怎么看?它有意义吗?它能以更简单/更好的方式实现吗?
谢谢!
如果您始终AND在查询中使用,则可以构建一个数组并在返回时将其内爆.
$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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |