테스트 사이트 - 개발 중인 베타 버전입니다

그누보드5 연동관련 질문드립니다. 채택완료

beehoney 7년 전 조회 5,616

안녕하세요

 

현재 그누보드5 php7 버전을 이용중입니다. 현재 큐패스라는 그누보드가 지원이 되어 연동을 하려고 진행중 이러한 Fatal error: Uncaught Error: Call to undefined function mysql_query() in /ykk007/www/qpass/qpass_install.php:13 Stack trace: #0 {main} thrown in /ykk007/www/qpass/qpass_install.php on line 13 오류구문이 나오기에 혼자서 여러 사이트에 검색을 해보았으며 제 생각에는 php7에서 지원이 안되는 명령어를 사용하여 이러한 오류가 발생하는 것 같아보입니다. 

하지만 제가 지식이 부족하여 어떤오류인지도 확실히 모르며 어떻게 해결 해야 될 지 많은 답변 부탁드립니다.

만약 지원이 안되는 명령어를 사용하여 오류가 발생했다면 php7 버전에서 사용 할 방법은 있을까요?

 

현재 php7 버전에서는 mysql_query, mysql_connect 함수 사용이 불가하며 mysqli_connect, mysqli_query 등으로 변경하여 이용이 가능 하다는걸 알아냈지만 수정을 어떻게 해야 될 지 잘 모르겠습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
복스리
7년 전

아마도 설치하신 큐패스 mysql 가  mysql 4.x 버전대에서 개발한것으로 알고 있습니다.

아래 내용를 참고 하시기 바랍니다.

</p>

<p>function sql_query($sql, $error=G5_DISPLAY_SQL_ERROR, $link=null)

{

    global $g5;</p>

<p>    if(!$link)

        $link = $g5['connect_db'];</p>

<p>    // Blind SQL Injection 취약점 해결

    $sql = trim($sql);

    // union의 사용을 허락하지 않습니다.

    //$sql = preg_replace("#^select.*from.*union.*#i", "select 1", $sql);

    $sql = preg_replace("#^select.*from.*[\s\(]+union[\s\)]+.*#i ", "select 1", $sql);

    // `information_schema` DB로의 접근을 허락하지 않습니다.

    $sql = preg_replace("#^select.*from.*where.*`?information_schema`?.*#i", "select 1", $sql);</p>

<p>    if(function_exists('mysqli_query') && G5_MYSQLI_USE) {

        if ($error) {

            $result = @mysqli_query($link, $sql) or die("<p>$sql<p>" . mysqli_errno($link) . " : " .  mysqli_error($link) . "<p>error file : {$_SERVER['SCRIPT_NAME']}");

        } else {

            $result = @mysqli_query($link, $sql);

        }

    } else {

        if ($error) {

            $result = @mysql_query($sql, $link) or die("<p>$sql<p>" . mysql_errno() . " : " .  mysql_error() . "<p>error file : {$_SERVER['SCRIPT_NAME']}");

        } else {

            $result = @mysql_query($sql, $link);

        }

    }</p>

<p>    return $result;

}</p>

<p>

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

b
7년 전

도움주셔서 매우 감사합니다.

 

덕분에 설치를 완료하였으며, 항상 좋은일만 가득하시길 바랍니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

진서기
7년 전

그누보드 lib/common.lib.php 파일에 mysql_query 로 검색해보세요.

쿼리 관련 함수들이 있습니다. php5.3 및 7에서 잘돌아가게 코딩되어 있으니 참고해서

qpass 라는 프로그램을 쿼리 관련 부분 수정해 보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

해피정
7년 전

mysql_query  을  sql_query  로 변경하는건 어떨까요?

그누보드 함수인  sql_query  로 변경하는것이 더 편리할듯 싶네요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인