반응형
PHP MYSQL API 함수
1. mysql_connect : MySQL 서버에 연결한다
1.1 정의 : int mysql_connect([string hostname [:port] [:/path/to/socket][, string username [, string password]]])
1.2 예제 : $conn = mysql_connect("localhost","UserID","UserPwd") or die("연결 실패");
2. mysql_close : MySQL 서버에 대한 연결을 종료한다.
2.1 정의 : int mysql_close ([int link_identifier])
2.2 예제 : 접속 종료시점에서 mysql_close($conn);
3. mysql_select_db : MySQL 서버에 있는 특정 DB를 작업DB로 선택한다.
3.1 정의 : int mysql_select_db(string database_name [, link_identifier])
3.2 예제 : $select_db = mysql_select_db("DB_Name");
4. mysql_errno : 가장 최근에 실행된 MySQL 작업이 에러가 발생하였을경우 해당에러에 대한 고유번호를 반환한다.
4.1 정의 : int mysql_errno([int link_identifier])
4.2 예제 : $error_No = mysql_errno(); echo $error_No;
5. mysql_error : 가장 최근에 실행된 MySQL 작업에 에러가 발생할경우 해당 에러메시지를 반환한다.
5.1 정의 : string mysql_error([int link_identifier])
5.2 예제 : $error_Msg = mysql_error(); echo $error_Msg;
1~5번 통합예제 :
$select_db = mysql_select_db("DB_Name");
if(!$select_db) {
$error_No = mysql_errno();
$error_Msg = mysql_error();
echo "에러".$error_No.":".$error_Msg;
exit;
}
mysql_close($conn);
?>
6. mysql_create_db : MySQL 서버에 인자로 지정한 이름을 갖는 DB를 생성한다.
6.1 정의 : int mysql_create_db(sting database_name [, int link_identifier])
6.2 예제 : $createDB = mysql_create_db("DB_Name");
7. mysql_drop_db : MySQL 서버에 인자로 지정된 이름을 갖는 DB를 제거한다.
7.1 정의 : int mysql_drop_db(string database_name[, int link_identifier])
7.2 예제 : $drop_DB = mysql_drop_db("DB_Name");
8. mysql_query : 연결식별자(mysql_connect)에 의해 연결된 서버에 sql쿼리문을 전송한다.
8.1 정의 : int mysql_query(string query [, link_identifier])
8.2 예제 : $sql_Query = mysql_query("쿼리문");
9. mysql_num_rows : 결과 레코드 세트에서 레코더의 개수를 반환한다.
9.1 정의 : int mysql_num_rows(int result);
9.2 예제 : $row = mysql_num_rows($sql_Query);
10. mysql_num_fields : 결과 레코드 세트에서 필드의 수를 반환한다.
10.1 정의 : int mysql_num_fields(int result)
10.2 예제 : $fields = mysql_num_fields($sql_Query);
11. mysql_field_name : 검색된 결과 레코드 세트에서 특정필드의 이름을 반환한다.
11.1 정의 : string mysql_field_name(int result, int field_index)
11.2 예제 : $field_name = mysql_field_name($sql_Query, 4);
11.3 추가 설명 : mysql_fild_name는 2차원 배열이라고 생각해도 된다 즉 $sql_Query에서 실행된것중 4번째에 해당되는 필드값을 가져오라는 말이다. 배열과 마찬가지로 mysql_field_name는 시작을 0으로 한다.
12. mysql_field_type : 검색된 결과 레코드 세트에서 특정필드의 타입을 반환한다.
12.1 정의 : string mysql_field_type(int result, int field_offset)
12.2 예제 : $field_type = mysql_field_type($sql_Query, 4);
12.3 추가 설명 : mysql_field_name과 동일하나 mysql_field_type가 반환하는것은 그 필드에 해당하는 Data Type을 반환한다. 예:) int, varchar등 모든 필드타입.
13. mysql_field_len : 검색된 결과 레코드 세트에서 특정 필드 타입의 크기를 반환한다.
13.1 정의 : int mysql_field_len(int result, int field_offset)
13.2 예제 : $field_len = mysql_field_len($sql_Query, 4);
13.3 추가설명 : mysql_field_name와 mysql_field_type와 호출방식은 동일하나 반환대는값은 지정한 필드의 타입 크기를 반환한다 예) fild_name int(20) -> 결과 : 20
14. mysql_field_flags : 검색된 결과 레코드 세트에서 특정 필드에 정의된 속성을 반환한다.
14.1 정의 : string mysql_field_flags(int result, int field_offset)
14.2 예제 : $field_flags = mysql_field_flags($sql_Query, 4);
14.3 추가 설명 : 결과 레코드 세트에서 지정한 위치에 있는 필드의 속성을 반환한다. 예:) Not Null 이나 Primary key등
15. mysql_field_table : 검색된 결과 레코드 세트에서 특정 필드가 속새 있는 테이블이름을 반환한다.
15.1 정의 : string mysql_field_table(int result, int field_offset)
15.2 예제 : $field_table = mysql_field_table($sql_Query, 4);
15.3 추가 설명 : 결과 레코드 세트에서 지정한 위치에있는 필드가 속한 테이블명을 반환한다. 즉 검색된 결과값이 속해 있는 테이블명을 반환한다.
16. mysql_fetch_row : 결과 레코드 세트에서 한 행(레코드)의 데이터를 가져온다
16.1 정의 : array mysql_fetch_row(int result)
16.2 예제 : $row = mysql_fetch_row($sql_Query);
16.3 추가 설명 :
-----------------------------------------
| NO | NAME | SEX | LEVEL |
-----------------------------------------
| 1 | 나이샤 | F | 3 |
-----------------------------------------
| 2 | 일리단 | M | 2 |
-----------------------------------------
| 3 | 퓨리온 | M | 4 |
-----------------------------------------
mysql_fetch_row를 실행을 하면 한줄의 레코드씩 반환하고 그값을 $row배열에 저장을 한다
즉, mysql_fetch_row가 실행되면
$row[0]에는 첫번째 레코드 NO의 값인 1이
$row[1]에는 두번째 레코드 NAME의 값인 나이샤 가 저장 된다.
17. mysql_fetch_array : 결과 레코드 세트에서 한 행(레코드)의 데이터를 연관 배열의 형태로 가져온다.
17.1 정의 : array mysql_fetch_array(int result [, int result_type])
17.2 예제 : $row = mysql_fetch_array($sql_Query);
17.3 추가 설명 : mysql_fetch_row와 같은 효과를 가지지만 추가로 $row[0]대신 $row[no]로 사용할수도있다.
18. mysql_fetch_object : 결과 레코드 세트에서 한 행(레코드)을 객체의 형태로 가져온다.
18.1 정의 : object mysql_fetch_object(int result [, int result_typ])
18.2 예제 : $row = mysql_fetch_object($sql_Query);
18.3 추가 설명 : 결과 값은 mysql_fetch_array와 달리 $row->no 형태를 가진다.
16~18 : mysql_fetch_row(), mysql_fetch_array(), mysql_fetch_object() 의함수 모두 동일한 역활을 수행하지만 속도는 그중 mysql_fetch_row() 함수가 가장빠르지만 속도차이는 무시할 정도로 거의 차이가 나지 않는다.
19. mysql_result : 결과 레코드 세트에서 지정한 레코드에 있는 하나의 필드값을 얻는다.
19.1 정의 : int mysql_result(int result, int row[, mixed field])
19.2 예제 : $value = mysql_result($result, $i, $j);
$result = mysql_num_rows 결과값
$i = 행 번호, $j = 필드 위치 ( 0 = no , 1 = name, 2 = sex, 3 = level)
20. mysql_free_result : 스크립트가 실행되는 동안 점유했던 메모리 공간을 반환한다.
20.1 정의 : int mysql_free_result(int result)
20.2 예제 : $free_result = mysql_free_result($mysql_Query);
20.3 추가 설명 : 쿼리 명령문의 실행 결과로 반환되는 결과 레코드 세트가 차지하는 메모리는 일시적으로 스크립트가 종료됨과 동시에 반환이 된다. 하지만 개발자가 더이상 참조할 필요가 없거나 스크립트 실행하는동안 매우 많은 메모리를 사용했다고 판단되는 경우 사용한다.
21. mysql_data_seek : 결과 레코드 세트내에서 원하는 레코드의 위치로 이동시킨다. 성공시 rrue, 실패시 false를 반환한다.
21.1 정의 : int mysql_data_seek(int result_identifier, int row_number)
21.2 예제 : if(!mysql_data_seek($result, 2) { echo"해당위치에는 레코드가 존재하지 않습니다."; }
21.3 추가 설명 : mysql_data_seek($result, 2) 붉은색 숫자는 mysql_fetch_row()에서 가져온 배열의 주소이다. 첫번째 레코드는 0 부터 시작한다.
-----------------------------------
| NAME | SEX | LEVEL | 레코드번호
-----------------------------------
| 나이샤 | F | 3 | 0
-----------------------------------
| 일리단 | M | 2 | 1
-----------------------------------
| 퓨리온 | M | 4 | 2
-----------------------------------
DB의 출력결과 물이다 현재 출력된 결과물에서 mysql_data_seek($result, 2)가 실행이고 그후 mysql_fetch_row()가 실행이 되면 출력되는 레코드 값은 아래와 같다.
-----------------------------------
| NAME | SEX | LEVEL | 레코드번호
-----------------------------------
| 나이샤 | F | 3 | 0
-----------------------------------
| 퓨리온 | M | 4 | 2
-----------------------------------
이처럼 mysql_data_seek()는 출력시 지정된 레코드로 이동되어서 출력한다..
22. mysql_fetch_field : 결과 레코드 식별자가 가리키는 결과 레코드 세트로 부터 필드 정보를 객체 형태로 반환한다.
22.1 정의 : object mysql_fetch_field(int result[, int field_offset])
22.2 예제 : for($i = 0; $i <$count; $i++){
$field_info = mysql_fetch_field($result, $i);
$name = $field_info -> name; // 필드명
$table = $field_info -> table; //필드가 속한 테이블 명
$max_length = $field_info -> max_length; //해당필드에서 가장 큰값을 가진필드 길이
$not_null = $field_info -> not_null; //해당 필드가 Not null이면 1을반환
$primary_key = $field_info -> primary_key; //해당필드가 primary_key면 1을 반환
$unique_key = $field_info ->unique_key; // 해당필드가 unique_key면 1을 반환
$multiple_key = $field_info -> multiple_key; // 해당필드가 multiple_key면 1을 반환
$numeric = $field_info -> numeric; //해당 필드 수치값을 가지면 1을 반환
$blob = $field_info -> blob; // 해당필드가 blob타입이면 1을 반환
$type = $$field_info -> type; // 해당필드의 타입을 반환한다.
$unsigned = $field_info -> unsigned; // 해당필드가 부호 없는 수치면 1을 반환
$zerofill = $field_info -> zerofill; // 해당필드가 0으로 채워졌으면1을 반환
}
23. mysql_fetch_lengths : 결과 레코드 세트에서 각 레코드의 필드에 저장된 데이터의 크기(byte)를 원소로 갖는 배열을 반환한다.
23.1 정의 : array mysql_fetch_lengths(int result)
23.2 예제 : $lengths_result = mysql_fetch_lengths($mysql_Query);
24. mysql_list_dbs : 연결 식별자에 의해 연결된 MySQL서버에 존재하는 DB의 리스트를 결과 포인터로 반환한다.
24.1 정의 : int mysql_list_dbs ([int link_identifier])
24.2 예제 : $DB_list = mysql_list_dbs($conn);
24.3 추가 설명 : 결과값은 현재 DB에 저장되어있는 DB리스트를 출력한다.
25. mysql_list_tables : 현재 선택된DB내에 존재하는 테이블 리스틀 얻는다.
24.1 정의 : int mysql_list_tables (string datavase[, int link_identifier])
24.2 예제 : $DB_list = mysql_list_table('mysql', $conn);
26. mysql_list_fields : 인자로 지정한 DB내 Table에 존재하는 필드의 목록을 구한다.
26.1 정의 : int mysql_list_fields(string database_name, string table_name [,int link_identifier])
26.2 예제 : $result = mysql_list_fields("sample","userdb",$conn);
27. mysql_field_seek : 현재 가르키는 필드의 포인터를 레코드내에서 새로 지정한 위치로 이동시킨다.
27.1 정의 : int mysql_field_seek (int result, int field_offset)
27.2 예제 : mysql_data_seek 참조.
27.3 추가 설명 : mysql_data_seek()함수가 검색된 레코드 세트내에서 지정한 위치의 레코드로 내부 포인터를 이동시키는것과 비슷하게 mysql_field_seek()함수는 레코드 내에서 현재 가르키고 있는 하나의 필드를 새로 저정한 위치에 있는 다른 필드로 그 내부 포인터를 이동시키는 함수 이다.
28. mysql_db_query : 연결 식별자에 의해 연결이 확인된 DB에 SQL 문을 전송하고 실행 결과로 검색된 레코드 세트를 가리키는 식별자로 반환한다.
28.1 정의 : int mysql_db_query(string database, string query [, int link_identifier])
28.2 예제 : $result = mysql_db_query("sample","SELECT * FROM userdb",$conn)
28.3 추가 설명 : mysql_db_query() 함수는 mysql_seelect_db()와 mysql_query() 함수의 역할을 동시에 수행하는 함수라고 보면된다.
29. mysql_pconnect : MySQL 서버에 연결한다. 성공할경우 연결식별자 실패할경우 false
29.1 정의 : int mysql_pconnect([string hostname [:port] [:/path/to/socket][, string username [, string password]]])
29.2 예제 : $conn = mysql_connect("localhost","UserID","UserPwd") or die("연결 실패");
29.3 추가 설명 : mysql_pconnect() 함수는 mysql_connect()와 동일하나 mysql_connect()가 스크립트의 실행이 종료되면 서버에 대한 연결이 끊어 지지만 mysql_pconnect() 영구 접속이다. 스크립트 종료직전에 mysql_close()함수를 호출하여도 끊어지지 않는다.
반응형
'Programming' 카테고리의 다른 글
날짜 계산 (0) | 2011.01.10 |
---|---|
양력<->음력 변환 (0) | 2011.01.10 |
문자열 자르는 다양한 방법 (한글,영문구분) (0) | 2011.01.10 |
자주 사용 하는 함수 모음 (0) | 2011.01.10 |
PHP 제어문 정리 (0) | 2011.01.10 |