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 && $row <= ($numrows-1) && $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 중국어 웹사이트의 기타 관련 기사를 참조하세요!