Db Editor v1(beta0409) > 그누4 플러그인

그누4 플러그인

그누보드에는 여러가지 기능 추가가 쉽도록 제작 되었습니다.
플러그인의 저작권은 해당 플러그인 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
플러그인 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y

Db Editor v1(beta0409) 정보

Db Editor v1(beta0409)

본문

[수정사항 2008.04.09]
- sql_query.php 파일 수정.
  sql문을 복사하여 실행창에 으로 실행 하였을시 ; 요넘이 문제 되었던 부분 수정
  (완전하지 않으므로 태스트 용으로만 사용부탁드립니다.)


고수님들께 부탁드립니다..ㅠ.ㅠ
아래 부분에서 오류 가 하나 뜹니다.. 
아주 특이한 넘이 있습니다. ; 요넘 중에 분명 |b|로 변환된걸 확인 했음에도 불구 하고
최종적으로 실행 시 변환이 않되어 실행되는 아주 괘심한 넘이 있습니다.
그부분에 대한 해결방안과 \'  요녀석 과  ;  요녀석을 임시로 바꾸어 저장후 명령어를 분해후
다시 복구 시키는 부분에서 전 |a| 과 |b| 등등 이런식으로 사용했는데요.
왠지 꺼림찍합니다. 분명 원글에서 중복이 일어 날것 같습니다..
저혼자 하려니 점 힘든부분이여서 고수님들께 이렇게 부탁을 드립니다..ㅜ.ㅡ

[sql_query.php 파일에 추가된 부분]

//================
//spl파일 제어
//행명령 개수 찾기
//================

//엔터키로 배열저장하여 주석문을 제거 한다.
$head_dell = explode($enter, $sql_query);
$hd_count = sizeof($head_dell);
$hh = 0;
for($h=0; $h<$hd_count; $h++){
$h_del[$h] = substr($head_dell[$h], 0, 2);
if($h_del[$h] != "--" and $h_del[$h] != "/*" and substr($head_dell[$h], 0, 1) != "#"){
if($hh == 0){
$sql_query = $head_dell[$h];
$hh++;
}else{
$sql_query = $sql_query.$enter.$head_dell[$h];
}
}
}

// \' 요넘을 찾아 |a|로 변환한다.
$sql_query = str_replace("\'", "|a|", $sql_query);
//태스트용
//echo nl2br($sql_query);

// ' 요넘에 처음 위치값과 마지막 위치값을 찾는다.
$first_p = strpos($sql_query, "'");
$last_p = strrpos($sql_query, "'");
//검색시작위치
$start_num = 0;
//시작괄호 갯수
$s = 0 ;
//마지막열까지 찾아 저장하기 위해 검색이 끝나는 부분에 숫자를 +1시켜줌
$last_pc = $last_p + 1;
//검색시작위치가 마지막 ' 의 위치값보다 작을때 까지만실행하여 배열로 저장한다.
while($start_num < $last_pc){
$point[$s] = strpos($sql_query, "'", $start_num);
//테스트용
//echo $s."번째 ' 위치 : ".$point[$s]."<br>";
//검색시작 위치를 변환시켜 다음 넘을 찾는다.
$start_num = $point[$s]+1;
$s++;
}
//배열넘버링
$cp = 0;
// ' 시작점만을 찾아 루프시킨다.
for($pi=0; $pi<$s; $pi=$pi+2){
// ' 넘에 끝점을 찾기 위해 배열 넘버링을 +시켜준다.
$pii = $pi+1;
// 시작점을 찾아 +1을 해줌으로 ' 넘이 빠지게 된다.
$p_ls = $point[$pi]+1;
// 시작점과 끝점 사이의 길이 값을 구한다.
$p_len = $point[$pii]-$point[$pi]-1;
// 시작점과 끝점 사이의 글을 배열로 저장한다.
$p_text[$cp] = substr($sql_query, $p_ls, $p_len);
//테스트용
//echo $cp."번째(".$point[$pi]."/".$point[$pii]."/".$p_len.") : ".$p_text[$cp]."<br>";
$cp++;
}

//배열로 저장되어진 부분을 찾아 ; 넘을 |b| 로 바꿔치기한다.
for($ii=0; $ii<$cp; $ii++){
// 우선 배열로 저장되어진넘을 빼내온다.
$sql_query = str_replace($p_text[$ii], "|ch_text|", $sql_query);
// ;넘을 |b| 걸로 바꿔치기
$p_text[$ii] = str_replace(";", "|b|", $p_text[$ii]);
// 다시 바꿔치기 후 저장
$sql_query = str_replace("|ch_text|", $p_text[$ii], $sql_query);
// 태스트용
//echo $ii."번째 : ".$p_text[$ii]."<br>";
}
//태스트용
//echo nl2br($sql_query);
// 위에서 \' 넘 바꿔치기한걸 되돌린다.
$sql_query = str_replace("|a|", "\'", $sql_query);
//태스트용
//echo nl2br($sql_query);

// 이제 ; 넘으로 명령어의 갯수를 파악해 배열로 저장한다.
$query_count = explode(";", $sql_query);
$query_count_len = sizeof($query_count);

// 배열로 저장되어진 명령어에서 다시 ; 넘으로 되돌린다.
for($ct=0; $ct<$query_count_len; $ct++){
$query_count[$ct] = str_replace("|b|", ";", $query_count[$ct]);
}

//================
//spl파일 제어 끝
//================
추천
0

댓글 전체

전체 3,524 |RSS
그누4 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT