728x90
<tables></tables> 안에 조인할 테이블을 정의했을 때,

ON으로 엮어줄 필드를 default 값에 적어주면 죽어라고 single quote(')가 붙어서

SELECT가 실패한다.

./xe/claases/db/DBMysql.class.php 의 538번줄

$left_join[] = $val . ' `'.$this->prefix.$output->_tables[$key].'` as '.$key  . ' on (' . $condition . ')';
 
부분을 

$left_join[] = $val . ' `'.$this->prefix.$output->_tables[$key].'` as '.$key  . ' on (' . eregi_replace("'","",$condition) . ')';
 와 같이 변경했다.

현재까진 잘 돌아가는데 앞으로는 어떨지 모르지 -_-

if(eregi("`", $condition)) $condition = eregi_replace("'","",$condition);

을 한줄 추가해주고, 조인에 쓸 필드명은 ``로 묶어주는것도 방법이 될것같다. 
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기