[PHP] 将数组键值转为mysql 查询(`a`=xx,`b`=xx) →→→→→进入此内容的聊天室

来自 , 2020-11-05, 写在 PHP, 查看 173 次.
URL http://www.code666.cn/view/b31df16a
  1. function array2sql($array){
  2.         $sql_array = array();
  3.         foreach ($array AS $_k=>$_v){
  4.            if (empty($_k)){
  5.                continue;
  6.        }
  7.        $_v = trim($_v);
  8.                 //if (is_numeric($_v)&&preg_match("/^[1-9][0-9]+$/", $_v)){
  9.            if (ctype_digit($_v)&&preg_match("/^[1-9][0-9]+$/", $_v)){ //modified by Herman.Xi is_numeric 对十六进制数判断不了 举例:0X792496944666339
  10.                         $sql_array[] = "`{$_k}`={$_v}";
  11.            } else {
  12.             $_v = Deal_SC($_v);
  13.                         $sql_array[] = "`{$_k}`='{$_v}'";
  14.                 }
  15.         }
  16.         return implode(',', $sql_array);
  17. }
  18.  
  19.  
  20. function Deal_SC($str){
  21.         //处理特殊字符,add by Herman.Xi @ 20130307
  22.         $str  = str_replace("'","´",$str);
  23.         $str  = str_replace("\"",""",$str);
  24.         $tes = array("=" , "{", "}");
  25.         foreach($tes as $v){
  26.                 $str = str_replace($v,"",$str);
  27.         }
  28.         return addslashes($str);
  29. }

回复 "将数组键值转为mysql 查询(`a`=xx,`b`=xx)"

这儿你可以回复上面这条便签

captcha