php를 한번이라도 다루어 본 분이라면 다 알고 계실 함수이지만, ASP, JSP등 다른 기반 기술로 작업을 하시던 분이
갑자기 덤탱이 쓰고, php 로 작업을 하게 되었다면, 한번은 꼭 찾게되는 함수이기도 합니다.
1. mysql_num_rows
mysql_num_rows 함수는 SELECT 쿼리의 실행 결과로 반환된 레코드의 갯수를 알려줍니다.
원형: int mysql_num_rows ( resource $result )
아래는 mysql_num_rows 함수의 짧은 예제로 데이터베이스(testdb)에 있는 테이블(tbl_test)의 전체 레코드 수를 반환하고 있습니다.
<?php
$hostname = "localhost"; // 호스트명 또는 IP
$user = "testUser"; // MySQL 사용자
$pwd = "123456"; // MySQL 접근 비밀번호
$database = "testdb"; // 데이타베이스명
$connect = mysql_connect ($hostname, $user, $pwd);
mysql_select_db ($database, $connect);
$result = mysql_query("SELECT * FROM tbl_test", $connect);
$rows = mysql_num_rows($result);
echo "SELECT로 반환된 레코드의 갯수는:$rows";
?>
2. mysql_affected_rows
mysql_num_rows 함수가 SELECT 쿼리의 실행 결과 값을 반환한다면 mysql_affected_rows 함수는 INSERT, UPDATE, DELETE 쿼리의 실행 결과로 변화된(영향을 받은) 레코드의 갯수를 반환해 줍니다. 이름에서 부터 냄새가 풀풀 나고 있지 않습니까?
원형: int mysql_affected_rows ([ resource $link_identifier ] )
아래는 mysql_affected_rows 함수의 짧은 예제로 데이터베이스(testdb)에 있는 테이블(tbl_test)에서 seq 가 2인 레코드를 삭제하고 있습니다. 한개의 레코드를 삭제했으니 반환된 값은 1입니다.
<?php
$hostname = "localhost"; // 호스트명 또는 IP
$user = "testUser"; // MySQL 사용자
$pwd = "123456"; // MySQL 접근 비밀번호
$database = "testdb"; // 데이타베이스명
$connect = mysql_connect ($hostname, $user, $pwd);
mysql_select_db ($database, $connect);
$result = mysql_query("DELETE FROM tbl_test WHERE seq = 2", $connect);
$rows = mysql_affected_rows();
echo "DELETE로 삭제된 레코드의 갯수는:$rows";
?>
2. mysql_num_fields
mysql_num_fields 함수는 거의 보너스 같은 함수입니다. 테이블의 컬럼의 갯수를 반환해 줍니다.
원형: int mysql_num_fields ( resource $result )
아래는 mysql_num_fields 함수의 짧은 예제로 데이터베이스(testdb)에 있는 테이블(tbl_test)의 컬럼수를 알려줍니다.
<?php
$hostname = "localhost"; // 호스트명 또는 IP
$user = "testUser"; // MySQL 사용자
$pwd = "123456"; // MySQL 접근 비밀번호
$database = "testdb"; // 데이타베이스명
$connect = mysql_connect ($hostname, $user, $pwd);
mysql_select_db ($database, $connect);
$result = mysql_query("SELECT * FROM tbl_test", $connect);
$cols = mysql_num_fields($result);