> 백엔드 개발 > PHP 튜토리얼 > mysql_result() 함수와 동등한 MySQLi가 있습니까?

mysql_result() 함수와 동등한 MySQLi가 있습니까?

Susan Sarandon
풀어 주다: 2024-11-24 18:34:16
원래의
343명이 탐색했습니다.

Is There a MySQLi Equivalent to the mysql_result() Function?

MySQLi의 mysql_result() 함수와 동일한 기능이 있습니까?

PHP 코드를 MySQL에서 MySQLi로 마이그레이션하는 과정에서 개발자는 종종 다음과 같은 문제를 겪게 됩니다. mysql_result() 함수가 없습니다. 여러 행을 처리할 때 mysql_result()가 덜 효율적이라는 것은 인정되지만, 단일 결과 및 필드가 포함된 시나리오에서는 그 편리함은 부인할 수 없습니다.

원래 다음 코드 조각으로 표현됩니다:

if ($r && mysql_num_rows($r))
    $blarg = mysql_result($r, 0, 'blah');
로그인 후 복사

원하는 MySQLi 버전은 다음과 같은 형식을 취합니다.

if ($r && $r->num_rows)
    $blarg = $r->result(0, 'blah');
로그인 후 복사

그러나 이러한 함수는 그렇지 않습니다. MySQLi의 기본 레퍼토리에 존재합니다.

공허 해결

이러한 격차를 해소하기 위해 mysql_result()의 기능을 복제하는 사용자 정의 함수가 등장했습니다.

function mysqli_result($res, $row=0, $col=0) { 
    $numrows = mysqli_num_rows($res); 
    if ($numrows &amp;&amp; $row <= ($numrows-1) &amp;&amp; $row >=0) {
        mysqli_data_seek($res, $row);
        $resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res);
        if (isset($resrow[$col])) {
            return $resrow[$col];
        }
    }
    return false;
}
로그인 후 복사

이 함수는 동일한 구문을 사용하여 mysql_result() 고유의 편의성을 유지합니다. 지정된 행이나 필드가 결과 집합을 벗어나면 false를 반환하므로 안정적인 데이터 검색이 보장됩니다. 또한 유연성 향상을 위해 숫자 필드 오프셋과 필드 이름을 모두 수용합니다.

위 내용은 mysql_result() 함수와 동등한 MySQLi가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿