묻고답하기
mysql - 데이터가 mysql에 불러올 때와 웹으로 출력 할 때 값이 다릅니다.
2016.07.14 13:42
안녕하세요.
아래 쿼리를 통해 데이터를 불러와서 게시판에 노출 합니다.
쿼리를 mysql 콘솔에서 실행할 때와 웹에서 데이터를 불러올 때 값이 달라서 문의 드립니다.
구체적인 내용 아래 적었습니다.
{@
$oDB = &DB::getInstance();
$query = $oDB->_query('SELECT document_srl, title FROM xe_documents
WHERE module_srl = 100 and regdate like "20160714%" order by regdate desc limit 25');
$result = $oDB->_fetch($query);
}
게시판 모듈 100 번에 2016년 7월 14일 조건으로 데이터를 불러옵니다.
Case1:
만약 DB 에 1개의 데이터가 있다면,
* 위 쿼리를 콘솔에서 실행하면 정상적으로 1개의 데이터를 불러옵니다.
* 하지만 위 쿼리를 웹에 출력하려고 하면 2개의 null 값만 나옵니다.
-> (2개의 null 값이 나오는 이유는, select 하는 것(document_srl, title) 이 2개이기 때문인 것 같습니다.)
Case2:
만약 현재 DB에 3개의 데이터가 있다면,
* mysql 과 출력 시, 모두 정상적으로 데이터를 불러 옵니다.
혹시 어떤 부분에 문제가 있을까요?
웹에서 출력을 할 때는 <li loop="$result => $key, $val"> 를 이용합니다.
늘 감사합니다.
댓글 2
-
sejin7940
2016.07.19 02:32
-
신비리
2016.07.19 23:37
안녕하세요. sejin7940님.
답변을 늦은 밤 보게 되었습니다.
진심으로 감사드립니다.
비슷한 문제를 많은 분들이 경험하셨을 것 같다는 섣부른 생각에...답변이 빠르게 올 것으로 예측했으나... ^^;;;
며칠 째 답을 구하지 못해 다소 포기(?)하는 마음이었습니다.
그러다 보니 답변에 대한 감사의 마음도 늦은 시간 남기게 됩니다.
올려주신 코드를 사용하여 기존 영역을 대체했으나,
지속적으로 에러(500 error)가 발생합니다.
혹시나 하는 마음에 올려주신 코드에서 나름의 변형을 해 보았지만...ㅠㅜ...
실력이 미천하여 계속 에러와 만나는 중입니다.^^;;
다시 한번 주신 관심에 감사드립니다.
$output_result = $oDB->_fetch($query);
if(count($output_result)==1) {
$result->data[1] = $output_result ;
}
else {
foreach($output_result as $key=>$val) {
$result->data[$key] = $val;
}
}
<li loop="$result->data => $key, $val">
로 해서 사용해보세요