mysql_fetch와 sql_fetch는 어떻게 다른가요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

mysql_fetch와 sql_fetch는 어떻게 다른가요? 정보

mysql_fetch와 sql_fetch는 어떻게 다른가요?

본문

차이가 있을텐데요.. 궁금합니다.^^
  • 복사

댓글 전체

sql_fetch 는 그누보드용 함수이고, mysql_fetch_array 는 php 에서 mysql 을 지원하기 위해 있는 함수입니다.

sql_fetch 함수의 정의는 gnu4/lib/common.lib.php 에서 보실 수 있습니다.

function sql_fetch($sql, $error=TRUE)
{
    $result = sql_query($sql, $error);
    //$row = @sql_fetch_array($result) or die("<p>$sql<p>" . mysql_errno() . " : " .  mysql_error() . "<p>error file : $_SERVER[PHP_SELF]");
    $row = sql_fetch_array($result);
    return $row;
}

// 결과값에서 한행 연관배열(이름으로)로 얻는다.
function sql_fetch_array($result)
{
    $row = @mysql_fetch_assoc($result);
    return $row;
}

보시면 아시겠지만. sql_fetch 를 호출하면 결과적으로 mysql_fetch_assoc (=mysql_fetch_row($res, MYSQL_ASSOC)) 을 호출한것과 동일한 효과가 나타납니다.

mysql_fetch_array 에 MYSQL_ASSOC 으로 호출하면 associative 배열로만 리턴되므로 약간은 다르겠네요..
답변 감사드립니다.
그런데 초보입장에서는 왜 mysql 용 함수를 사용하지 않고 중복되게 그누보드 함수를 만들어 사용하는지 알고 싶습니다^^
mysql_fetch_* 함수는 SQL문을 입력받지 않고 mysql_query()를 통해 얻어온 결과셋만을 받습니다.
즉 2번 호출해야 한다는 것이죠...
일단 sql_fetch()는 1번으로 줄일 수 있습니다.
명백히 1개 row만 있을 경우 훨씬 효과적이죠...

mysql전용함수만 사용했을 때 보다는 약간 느려지겠지만
함수가 호출될 때마다 기억한다든지 하는 특별 기능을 넣을 때 어려움이 없습니다.

다릉 DB용으로 포팅할 때도 약간은 유리하겠구요...
© SIRSOFT
현재 페이지 제일 처음으로