Q&A

CMS/프레임워크 XE 1.x
개발 언어 사용안함
문제 페이지 주소 비공개 (작성 후 5일 경과)

오늘 작업을 해보려고 하니까, 게시된 글에 댓글을 달면 이상하게 깨어지네요. 

Fatal error: Uncaught Error: Call to undefined function mysql_fetch_array() in /host/home4/godnu/html/files/cache/template_compiled/a35017fbcb12aa3c69de33ad72da15d4.compiled.php:44 Stack trace: #0 /host/home4/godnu/html/classes/template/TemplateHandler.class.php(430): include() #1 /host/home4/godnu/html/classes/template/TemplateHandler.class.php(197): TemplateHandler->_fetch() #2 /host/home4/godnu/html/files/cache/template_compiled/15f8904ead2955a5de38154b847bf8aa.compiled.php(331): TemplateHandler->compile() #3 /host/home4/godnu/html/classes/template/TemplateHandler.class.php(430): include('/host/home4/god...') #4 /host/home4/godnu/html/classes/template/TemplateHandler.class.php(197): TemplateHandler->_fetch() #5 /host/home4/godnu/html/files/cache/template_compiled/ba55f44244edd45591e322783a3689f6.compiled.php(4): TemplateHandler->compile() #6 /host/home4/godnu/html/classes/template/TemplateHandler.class.php(430): include('/host/home4/god...') #7 /host/home4/godnu/html/classes/template/TemplateHandler.class.php(197): Tem in /host/home4/godnu/html/files/cache/template_compiled/a35017fbcb12aa3c69de33ad72da15d4.compiled.php on line 44

 

이렇게 하단에 나와요. 
첨부한 a35017fbcb12aa3c69de33ad72da15d4.compiled.php 의 44줄을 어떻게 수정해야 할까요? ㅠ
혹 아시는 분 계시면 좀 알려주세요. ㅠ 부탁드립니다. ㅠ
다른 게시판에 댓글을 달아도 현재 다 깨어지고 있어요. ㅠ 

 

php 버전은 제가 몰라서 '사용안함'으로 올렸습니다.

 

참고로 게시판은 요즘은 활동을 하지 않으시는데, '이지보드'라는 게시판을 몇 개의 사이트를
해당 게시판을 정품으로 몇 개 구매해서 사용하고 있었습니다.

댓글 6

  • 에러가 나는 파일 경로는 템플릿 문법을 변환하는 과정에서 생성된 임시파일이고,

    원본은 게시판 스킨에 있으니, 원본 파일을 찾아서 수정하셔야 합니다.

    사용하시는 스킨에서 유사한 코드가 있는 파일을 찾아보세요.

    댓글 보여주는 부분이라면 comment_뭐시기라는 파일 이름이 붙어 있을 가능성이 높습니다.

     

    에러가 나는 것을 보니 PHP 7.0 이상 버전으로 올리신 모양인데,

    PHP 7.0 이상에서는 mysql_query, mysql_fetch_array 등의 함수를 사용할 수 없습니다.

    스킨에서 DB 함수를 직접 호출하는 것은 XE에서는 있어서는 안 될 일인데...

    바로 열몇줄 아래를 보면 버전 관계없이 호환되는 oDB->_query를 잘 사용했는데

    왜 한 군데만 mysql_query, mysql_fetch_array를 썼는지 의문이네요.

    아랫부분처럼 oDB->_query, oDB->fetch를 사용하도록 수정해야 합니다.

  • @기진곰
    PHP버전을 찾아보니 기진곰 님 말씀처럼 7.4나 되네요. ㅠ
    알려주신 수정부분을 아직 찾지를 못하고 있습니다. ㅠ

    배울게 너무 많은 초보입니다. 감사해요.
  • 아직은 제가 초보수준이라 잘 모릅니다. 그런데 자세한 설명 많은 도움이 되었습니다. 정말 감사합니다. ^^
  • mysql 버전이 바뀌어서 그럴거예요 ( mysql => mysqli 가 되셨을듯 )
    첨부하신 php 소스에 보면, mysql 명령어를 직접 쓴 부분들이 있는데
    mysql_query 나 mysql_fetch_array 부분을
    mysqli_query 나 mysqli_fetch_array 등으로 문법을 바꾸셔야해요
    단순히 명령어만 바꾸면 안 되고, 이 함수의 변수값들이 바뀌어서 관련 수정을 하셔야할겁니다.
  • @sejin7940
    아. 그렇군요. 감사합니다. 그런데 제가 말씀하신 마지막 줄 내용의

    변수값을 바꿀 실력이 안되어서

    게시판을 스케치북 스킨으로 바꿔보고 있는 중입니다. 답변 감사드립니다. 즐거운 밤되세요. ^^
  • @sejin7940
    말씀해주신 것처럼 게시판의 파일 중 댓글과 관련되어 있는 것 같은 곳을 찾아 수정했더니 됩니다.
    감사해요. 즐거운 주말되세요.