묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
XE DB 테이블 접두사(prefix) 변수문의
2015.02.12 10:32
안녕하세요. XE를 잘사용하고 있는 유저입니다.
XE가 오픈소스라서 그런지 사용상 약간의 문제들이 나타나내요
제가 생성된 DB테이블에 별도의 칼럼을 추가하였습니다.
XE쿼리함수인 executeQuery문을 통해 insert, update를 해보았는데... 좀 불안하더라구요.
그래서 mysql 또는 mysqli 명령문으로 DB에 넣으려고 합니다.
여기서 제가 잘 모르는 부분이 있어 이렇게 질문을 드립니다.
보통 XE설치시 테이블 접두사가 'xe_'로 되는데 다른 것으로 할경우, mysql 테이블명지정이 어렵더라구요
예를 들면
"UPDATE xe_documents SET value='".$value."' where document_srl='".$docu_srl."' AND eid='".$val2."'";
빨간색부분을 지정하게 되면 xe_documents라는 테이블명이 지정이 되는데 xe2_documents라고 사용하는 유저는 등록이 안되는 문제가 있더라구요. 범용으로 할수 있는 방법이 있는지 궁금합니다.
아니면 DB테이블 접두사를 가져오는 php변수가 있는지도 궁금하네요.
혼작 독학을 하다보니, 많이 부족한 부분이 있네요.
감사합니다.
그냥 xe 쿼리를 쓰는게 오히려 가장 안정적입니다.
다만, 상황에 따라 이 xe 쿼리로 해결이 어려운 경우들이 있는거죠.
암튼, XE Core 내부에서.. prefix 구하고프면
$db_info = Context::getDBInfo();
$prefix = $db_info->master_db["db_table_prefix"];
하면 prefix 를 알 수 있어요 ( prefix 는 files/config/db.config.php 파일에 저장되거든요 )