SQL 쿼리에 의해 변경된 레코드 수 반환
int mysql_affected_rows(string $result)
성공 시 변경된 레코드 수, 실패 시 -1
<?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 접속 종료
?>