每次都写SQL条件语句,很麻烦,容易出错,写了个函数整合到数据库类里,用来根据传入的数组,自动生成 SQL的where条件语句
- //生成where字符串
- function get_where($arg = null) {
- foreach ((array)$arg as $key => $val) {
- if(is_int($key)) {
- $where .= " $val ";
- }else {
- if(is_string($val)) {
- if($val === null) {
- $where .= " and $key is null ";
- }else {
- $where .= " and $key = '$val' ";
- }
- }elseif(is_array($val)) {
- foreach ($val as $v) {
- if(is_string($v)) {
- $in .= $in ? ",'$v'" : "'$v'";
- }else {
- $in .= $in ? ",$v" : "$v";
- }
- }
- $where .= " and $key in ($in)";
- }else {
- $where .= " and $key = $val ";
- }
- }
- }
- return $where;
- }