php에서 mysql_result 함수는 php 5.5 이상인 버전부터 제공하지 않는다.
그래서 이를 대체하기 위해 mysql_fetch_assorc를 사용한다.
mysql_fetch_array보다 mysql_fetch_assorc, mysql_fetch_rows이 더 좋다.
mysql_result에서 parameter에서 resource는 mysql_query호출 시 넘어오는 결과 값인 resource의 변수값으로 넘어오는데
여기서 resource란 정형화 되지 않은 값들을 담아두는 변수를 의미한다. 왜 정형화 되지 않은 값들을 담아두냐면 쿼리를 질의 후에 넘어오는 결과값이 boolean, string, int 처럼 정형화 되어 있지 않기 때문이다.
mysql_result(int result, int row, mixed field)
결과 레코드 세트에서 하나의 필드값을 얻는다.
mysql_result()함수 역시 결과 레코드 세트에서 필드값을 가져오는 역할을 한다. mysql_fetch_row(), mysql_fetch_object(), mysql_fetch_array() 함수가 결과 레코드 세트에서 배열이나 객체의 형태로 하나의 레코드가 가진 모든 필드 값을 한꺼번에 가져오는데 반해 mysql_result() 함수는 한번 호출할 때 레코드가 가진 여러 필드 중에서 하나의 필드 값만을 반환한다. 따라서 쿼리결과 검색되어진 레코드 세트의 크기가 큰 경우에는 mysql_result()함수 보다는 mysql_fetch_row(),_array(),_object() 함수를 사용하는 것이 훨씬 빠른 결과를 보여준다.
name | id | |
홍길동 |
honggildong | gildong@naver.com |
이름 | 아이디 |
이메일 |
*mysql_result($result,0,1) === mysql_result($result,0,"id")==> honggildong 출력.
따라서 mysql_result()함수를 이용하여 각각 이들 셀 값에 접근 하려면 모드 12번의 호출이 필요한 셈이다. 그러므로 결과 레코드가 커질 수록 mysql_fetch_row(), _object함수를 이용하는 것이 속도면에서 유리하다.
'Old > PHP' 카테고리의 다른 글
php.ini의 global_registers에 설정에 대해서 (0) | 2013.03.27 |
---|---|
PHP 관계 연산자 (0) | 2013.03.26 |
simplexml error handling (0) | 2013.03.21 |
phpmailer (0) | 2013.03.21 |
WeatherBug 날씨 (0) | 2013.03.18 |