개발 Q&A

제목 function에 대해서 질문합니다.
글쓴이 바다의이무기 작성시각 2016/09/12 17:51:57
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 12392   RSS

지금 유지보수작업에서  인클루드된 소스중에 한곳에  getObjMysql라는 함수(mysql결과 리턴)가 선언되어 있습니다.

그리고 지금 수정작업중인 리스트페이지에 인클루드 해서 

$objRst = getObjMysql($sSql,$connPrimary); 해서  $objRst에 쿼리결과를 저장한다음

while($aryRst = Mysql_Fetch_Array($objRst)){ } 으로 돌리면서 리스트를 가져올려고 하는데  자꾸mysql_fetch_array(): supplied argument is not a valid MySQL result resource in라는 경고 창이 뜨면서 리스트는 나타나지 않고 있습니다.

혹시나 하고 sql문이 잘못되어 있나 해서 sql문만 출력해서 디비에 확인해보니깐 결과는 잘 나옵니다.

뭐가 문제여서 리스트가 출력되지 않는지 이틀 동안 삽질하다가 고수분들 가르침을 얻고자 이렇게 질문합니다.

자세한 설명 부탁드립니다.

ps:인클루드하는페이지에서 주석 /*만 되어 있고 닫는 */ 가 없는데 인클루드 하면 안에 있는 선언되어 있는 함수 사용가능 합니다.

이건 또 뭐 때문에???

 다음글 php 날짜 오류.... (10)
 이전글 다른 클래스에서 설정한 상수값을 가져오는 방법 (1)

댓글

한대승(불의회상) / 2016/09/13 01:36:07 / 추천 0
먼저 var_dump() 로 $objRst 에 어떤 값이 들어 있는지 확인해 보세요.
바다의이무기 / 2016/09/13 08:49:35 / 추천 0

echo var_dump( $objRst );로 출력해보니  출력결과가 bool(flase)로 나옵니다.

원래 잘 운영되고 있는 사이트 전체를 복사해서 똑같이 새로 독립된 사이트 만들고 있는데

복사된 원본에서는 잘 작동되는 함수인데 왜 이런지 모르겠습니다.

함수는 밑과 같이 선언되어 있습니다.

Function getObjMysql($tmpSql, $tmpConn)
{
    Return Mysql_Query($tmpSql, $tmpConn);
}

 

한대승(불의회상) / 2016/09/13 09:48:44 / 추천 0

덤프된 결과를 보니 DB 접속에 문제가 있는것 같습니다.

단계별로 추적해 보세요.

바다의이무기 / 2016/09/13 11:06:44 / 추천 0

1267: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_unicode_ci,COERCIBLE) for operation 'ifnull' 라는 에러가 뜨네요..

그럼 이런경우는 처음이라서 검색해보니 문자셋 혼합해서 사용해서 그렇다는거 같은데..  쿼리문에서   $a ,'본사직영'  이렇게 준 것도 문자셋 혼합해서 사용한건가요??

바다의이무기 / 2016/09/13 11:26:37 / 추천 0

일딴은  mysql_query("SET NAMES latin1"); 으로 해결했습니다. 오류뜨는 페이지 마다 추가해줬는데.. 번거롭네요.

다른 방법으로 해결할 수 있는 방법은 없나요??