mysql 바인딩 처리용 함수

/**
* 바인딩용 replace
*/
function _setReplaceForBind($str,$key,$val){
	if(is_null($val)){ $val = ''; } //널값일 경우 기본값 처리

	$isAct = false;
	$arr = array('\(','\)','=','\|',',','\s',addslashes("\'"),"'",'\r','\n');
	$reg = '/(?:(?:'.implode('|',$arr).')|(?:[^'.implode('',$arr).']*))/';
	preg_match_all($reg,$str,$out );
	if(!isset($out[0])){return $str;}
	$arr = $out[0];
	$F0 = false;
	for($i=0,$m=count($arr);$i<$m;$i++){
		if($arr[$i]=="'"){
			$F0 = !$F0;
		}
		if($F0 === false){
			if($arr[$i]==$key){
				$isAct = true;
				$arr[$i] = $this->_quote($val);
			}
		}

	}
	if($isAct===false){
		$this->showerror("bind Error : KEY = \"{$key}\" : {$this->query} :".mysql_error());	//여기부터
	}
	return implode('',$arr);
}
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📅 달력형