function array2sql( $array ){ |
$sql_array = array (); |
foreach ( $array AS $_k => $_v ){ |
if ( empty ( $_k )){ |
continue ; |
} |
$_v = trim( $_v ); |
//if (is_numeric($_v)&&preg_match("/^[1-9][0-9]+$/", $_v)){ |
if (ctype_digit( $_v )&&preg_match( "/^[1-9][0-9]+$/" , $_v )){ //modified by Herman.Xi is_numeric 对十六进制数判断不了 举例:0X792496944666339 |
$sql_array [] = "`{$_k}`={$_v}" ; |
} else { |
$_v = Deal_SC( $_v ); |
$sql_array [] = "`{$_k}`='{$_v}'" ; |
} |
} |
return implode( ',' , $sql_array ); |
} |
function Deal_SC( $str ){ |
//处理特殊字符,add by Herman.Xi @ 20130307 |
$str = str_replace ( "'" , "´" , $str ); |
$str = str_replace ( "\"" , """ , $str ); |
$tes = array ( "=" , "{" , "}" ); |
foreach ( $tes as $v ){ |
$str = str_replace ( $v , "" , $str ); |
} |
return addslashes ( $str ); |
} |