mysql_affected_rows()


SQL 쿼리에 의해 변경된 레코드 수 반환

Description

int mysql_affected_rows(string $result)

Parameters

Return Value

성공 시 변경된 레코드 수, 실패 시 -1

Example

<?php
include_once "/lib/sn_dns.php";                 // DNS 라이브러리
include_once "/lib/sn_mysql.php";

$db_name = "testdb";                            // 선택할 DB 이름

// 데이터베이스 생성, 테이블 생성, 레코드 삽입 및 추가 등의 쿼리 문자열
$query_create_db = "CREATE DATABASE testdb;";
$query_create_table = "CREATE TABLE test_table (id INTEGER NOT NULL, age INTEGER);";
$query_insert_1 = "INSERT INTO test_table (id, age) VALUES ('1', '10');";
$query_insert_2 = "INSERT INTO test_table (id, age) VALUES ('2', '10');";
$query_update = "UPDATE test_table SET age=age+1 WHERE age=10;";
$query_drop_table = "DROP TABLE test_table;";
$query_drop_db = "DROP DATABASE testdb;";

$server_addr = "192.168.0.100";                 // MySQL 서버의 IP주소
$user_name = "user_id";                         // MySQL 계정의 아이디
$password = "password";                         // MySQL 계정의 비밀번호

// MySQL 접속 시도
if(mysql_connect($server_addr, $user_name, $password) === false)
    exit(mysql_error());                        // 에러메시지 출력 및 종료

if(mysql_query($query_create_db) === false)     // 쿼리 전송(DB 생성)
    exit(mysql_error());                        // 에러메시지 출력 및 종료

if(mysql_select_db($db_name) === false)         // DB 선택 쿼리 전송
    exit(mysql_error());                        // 에러메시지 출력 및 종료

if(mysql_query($query_create_table) === false)  // 쿼리 전송(테이블 생성)
    exit(mysql_error());                        // 에러메시지 출력 및 종료

if(mysql_query($query_insert_1) === false)      // 쿼리 전송(레코드 삽입)
    exit(mysql_error());                        // 에러메시지 출력 및 종료

if(mysql_query($query_insert_2) === false)      // 쿼리 전송(레코드 삽입)
    exit(mysql_error());                        // 에러메시지 출력 및 종료

$result = mysql_query($query_update);           // 쿼리 전송(레코드 변경)
if($result === false)
    exit(mysql_error());                        // 에러메시지 출력 및 종료
else
{
    $affected_rows = mysql_affected_rows($result); // 변경 된 레코드 수 확인
    if($affected_rows > 0)
        echo "$affected_rows record(s) have(has) been updated!";
}

if(mysql_query($query_drop_table) === false)    // 쿼리 전송(테이블 삭제)
    exit(mysql_error());                        // 에러메시지 출력 및 종료

if(mysql_query($query_drop_db) === false)       // 쿼리 전송(DB 삭제)
    exit(mysql_error());                        // 에러메시지 출력 및 종료

mysql_close();                                  // MySQL 접속 종료
?>

See also