PHP에서 지원하는 MySQL API함수
페이지 정보
작성자 최고관리자 작성일 21-02-10 17:11 조회 6,190 댓글 0본문
PHP에서 지원하는 MySQL API함수
int mysql_connect(string[hostname], string[username], string[password]);
인자로 지정한 사용자 계정(username) 과 패스워드(password)로 MySQL서버에 연결 한다. $dbconn = mysql_connect("localhost", "php", "php99");
int mysql_close(int [link_identifier]);
서버의 연결을 종료. mysql_close($dbconn);
int mysql_select_db(string database_name, int [link_idenfier]);
MySQL 서버에 있는 여러개의 데이터베이스중에서 인자로 전달한 데이터베이스를 선 택. $status = mysql_select_db("sample", $dbconn);
int mysql_errno(int [link_identifier]);
가장 최근에 작업을 수행했던 MySQL작업에서 에러가 발생할 경우 그 에러 메시지의 고유번호를 반환. $errNO = mysql_errno($dbconn);
int mysql_error(int [link_identifier]);
mysql_error함수이전에 실행된 MySQL 작업에 에러가 발생했을 경우 해당 에러의 메 시지를 반환. $errMSG = mysql_error($dnconn);
int mysql_create_db(string database_name, int [link_identifier]);
연결 식별자에 의해 확인된 서버에 인자로 지정한 이름을 갖는 데이터베이스를 생성
$createDB = mysql_create_db("sample2", $dbconn);
int mysql_drop_db(string database_name, int [link_identifier]);
연결 식별자에 의해 확인된 서버에 인자로 지정한 이름을 갖는 데이터베이스를 삭제
$dropDB = mysql_drop_db("sample", $dbconn);
int mysql_query(string query, int [link_identifier]);
연결식별자에 의해 연결이 확인된 서버에 SQL쿼리문을 전송.
SELECT 쿼리문을 전송하는 경우에는 대상 테이블의 모든 레코드중에서 SELECT SQL명령문의 실행결과로 검색된 레코드 세트만을 가리키는 새로운 식별자를 반환
$query = "SELECT name, id, email FROM userdb WHERE sex = 'F' ";
$result = mysql_query($query, $dbconn);
int mysql_num_rows(int result);
결과 레코드 세트에서 행(레코드)의 수를 반환
$rows = mysql_num_rows($result);
int mysql_num_fields(int result);
결과 레코드세트에서 열(필드)의 수를 반환
$fields = mysql_num_fields($result);
string mysql_field_name(int result, int field_index);
검색된 결과 레코드 식별자가 가리키는 결과 레코드 세트에서 두번째 인자인 field_index가 가리키는 위치에 있는 필드의 이름을 반환
string mysql_field_type(int result, int field_offset);
결과 레코드 식별자가 가리키는 결과 레코드 세트에서 해당 위치의 필드 타입을 반환
string mysql_field_len(int result, int field_offset);
검색된 결과 레코드 세트에서 특정 필드의 길이를 반환
string mysql_field_flags(int result, int field_offset);
검색된 결과 레코드 세트에서 특정필드에 'NOT NULL'과 같이 별도로 선언된 내용이 있으면 이 내용을 문자열로 출력한다. 선언된 항목이 2개 이상일 경우 각 항목 사이를 하나의 공백문자로 구분하여 하나의 문자열로 반환. 따라서 이 경우 각 항목별 문자열 을 얻기 위해선 하나의 공백문자을 구분자로 하여 explode()함수를 사용한다.
string mysql_field_table(int result, int field_offset);
검색된 결과 레코드 세트에서 특정 필드가 속해 있는 테이블의 이름을 반환
for($i=0; $i < $fields; $i++) {
$field_name = mysql_field_name($result, $i);
$field_type = mysql_field_type($result, $i);
$field_len = mysql_field_len($result, $i);
$field_flags = mysql_field_falgs($result, $i);
$field_table = mysql_field_table($result, $i); }
array mysql_fetch_row(int result);
결과 레코드세트에서 한행(레코드)의 데이터를 가져온다.
while($row = mysql_fetch_row($result)) {
for($i=0; $i < $fields; $i++) {
echo("$row[$i]");
} }
array mysql_fetch_array(int result, int [result_type]);
결과 레코드세트에서 한행(레코드)의 데이터를 연관배열의 형태로 가져온다
while($row = mysql_fetch_array($result)) {
echo("$row[name]");
echo("$row[id]]"); }
array mysql_fetch_object(int result, int [result_type]);
결과 레코드세트에서 한행(레코드)를 객체의 형태로 가져온다
while($row = mysql_fetch_object(result)) {
echo("$row->name");
echo("$row->id"); }
int mysql_result(int result, int row, mixed field);
mysql_fetch_row() 함수나 mysql_fetch_object(), mysql_fetch_array() 함수가 결과 레 코드세트에서 배열이나 객체의 형태로 하나의 레코드가 가진 모든 필드값을 한꺼번에 가져오는데 반해 mysql_result()함수는 한번 호출할 때 레코드가 가진 여러필드중에서 하나의 필드값을 반환한다. 따라서 쿼리 결과 검색되어진 레코드 세트의 크기가 큰 경 우에는 mysql_result()함수보다는 다른 함수를 이용하는 것이 훨씬 빠른 결과를 보여 준다.
for($i=0; $i < $rows; $i++) {
for($j=0; $j <$fields; $j++) {
$value = mysql_result($result, $i, $j);
echo("$value"); }}
int mysql_free_result(int result);
스크립트가 실행되는 동안 점유했던 메모리 공간을 반환한다.
int mysql_data_seek(int result_identifier, int row_number);
첫번째 인자인 결과 레코드식별자가 가리키는 결과 레코드 세트내에서 두번째 인자로 준 레코드 번호를 갖는 레코드로 포인터를 이동시킨다. 이동된 해당 레코드의 값을 얻 으려면 mysql_fetch_row()함수를 한번 호출해야 한다.
if(!mysql_data_seek($result, 3)) { }
$row = mysql_fetch_row($result);
ogbect mysql_fetch_field(int result, int[field_offset]);
결과 레코드식별자가 가리키는 결과 레코드세트로부터 필드정보를 객체 형태로 반환
array mysql_fetch_lengths(int result);
결과 레코드세트에서 레코드의 각 필드에 담긴 필드값의 크기를 구한다.
$length = mysql_fetch_lengths($result);
int mysql_list_dbs(link_identifier]);
연결식별자에 의해 연결이 확인된 MySQL 서버에 존재하는 데이터베이스의 리스트를 포인터로 반환한다. 이 결과 포인터를 mysql_result() 함수의 인자로 전달하여 실행하 면 해당 데이터베이스의 리스트를 구할 수 있다.
int mysql_list_tables(string database; int[link_identifier]);
현재 선택된 데이터베이스 내에 존재하는 필드의 리스트를 얻는다.
int mysql_connect(string[hostname], string[username], string[password]);
인자로 지정한 사용자 계정(username) 과 패스워드(password)로 MySQL서버에 연결 한다. $dbconn = mysql_connect("localhost", "php", "php99");
int mysql_close(int [link_identifier]);
서버의 연결을 종료. mysql_close($dbconn);
int mysql_select_db(string database_name, int [link_idenfier]);
MySQL 서버에 있는 여러개의 데이터베이스중에서 인자로 전달한 데이터베이스를 선 택. $status = mysql_select_db("sample", $dbconn);
int mysql_errno(int [link_identifier]);
가장 최근에 작업을 수행했던 MySQL작업에서 에러가 발생할 경우 그 에러 메시지의 고유번호를 반환. $errNO = mysql_errno($dbconn);
int mysql_error(int [link_identifier]);
mysql_error함수이전에 실행된 MySQL 작업에 에러가 발생했을 경우 해당 에러의 메 시지를 반환. $errMSG = mysql_error($dnconn);
int mysql_create_db(string database_name, int [link_identifier]);
연결 식별자에 의해 확인된 서버에 인자로 지정한 이름을 갖는 데이터베이스를 생성
$createDB = mysql_create_db("sample2", $dbconn);
int mysql_drop_db(string database_name, int [link_identifier]);
연결 식별자에 의해 확인된 서버에 인자로 지정한 이름을 갖는 데이터베이스를 삭제
$dropDB = mysql_drop_db("sample", $dbconn);
int mysql_query(string query, int [link_identifier]);
연결식별자에 의해 연결이 확인된 서버에 SQL쿼리문을 전송.
SELECT 쿼리문을 전송하는 경우에는 대상 테이블의 모든 레코드중에서 SELECT SQL명령문의 실행결과로 검색된 레코드 세트만을 가리키는 새로운 식별자를 반환
$query = "SELECT name, id, email FROM userdb WHERE sex = 'F' ";
$result = mysql_query($query, $dbconn);
int mysql_num_rows(int result);
결과 레코드 세트에서 행(레코드)의 수를 반환
$rows = mysql_num_rows($result);
int mysql_num_fields(int result);
결과 레코드세트에서 열(필드)의 수를 반환
$fields = mysql_num_fields($result);
string mysql_field_name(int result, int field_index);
검색된 결과 레코드 식별자가 가리키는 결과 레코드 세트에서 두번째 인자인 field_index가 가리키는 위치에 있는 필드의 이름을 반환
string mysql_field_type(int result, int field_offset);
결과 레코드 식별자가 가리키는 결과 레코드 세트에서 해당 위치의 필드 타입을 반환
string mysql_field_len(int result, int field_offset);
검색된 결과 레코드 세트에서 특정 필드의 길이를 반환
string mysql_field_flags(int result, int field_offset);
검색된 결과 레코드 세트에서 특정필드에 'NOT NULL'과 같이 별도로 선언된 내용이 있으면 이 내용을 문자열로 출력한다. 선언된 항목이 2개 이상일 경우 각 항목 사이를 하나의 공백문자로 구분하여 하나의 문자열로 반환. 따라서 이 경우 각 항목별 문자열 을 얻기 위해선 하나의 공백문자을 구분자로 하여 explode()함수를 사용한다.
string mysql_field_table(int result, int field_offset);
검색된 결과 레코드 세트에서 특정 필드가 속해 있는 테이블의 이름을 반환
for($i=0; $i < $fields; $i++) {
$field_name = mysql_field_name($result, $i);
$field_type = mysql_field_type($result, $i);
$field_len = mysql_field_len($result, $i);
$field_flags = mysql_field_falgs($result, $i);
$field_table = mysql_field_table($result, $i); }
array mysql_fetch_row(int result);
결과 레코드세트에서 한행(레코드)의 데이터를 가져온다.
while($row = mysql_fetch_row($result)) {
for($i=0; $i < $fields; $i++) {
echo("$row[$i]");
} }
array mysql_fetch_array(int result, int [result_type]);
결과 레코드세트에서 한행(레코드)의 데이터를 연관배열의 형태로 가져온다
while($row = mysql_fetch_array($result)) {
echo("$row[name]");
echo("$row[id]]"); }
array mysql_fetch_object(int result, int [result_type]);
결과 레코드세트에서 한행(레코드)를 객체의 형태로 가져온다
while($row = mysql_fetch_object(result)) {
echo("$row->name");
echo("$row->id"); }
int mysql_result(int result, int row, mixed field);
mysql_fetch_row() 함수나 mysql_fetch_object(), mysql_fetch_array() 함수가 결과 레 코드세트에서 배열이나 객체의 형태로 하나의 레코드가 가진 모든 필드값을 한꺼번에 가져오는데 반해 mysql_result()함수는 한번 호출할 때 레코드가 가진 여러필드중에서 하나의 필드값을 반환한다. 따라서 쿼리 결과 검색되어진 레코드 세트의 크기가 큰 경 우에는 mysql_result()함수보다는 다른 함수를 이용하는 것이 훨씬 빠른 결과를 보여 준다.
for($i=0; $i < $rows; $i++) {
for($j=0; $j <$fields; $j++) {
$value = mysql_result($result, $i, $j);
echo("$value"); }}
int mysql_free_result(int result);
스크립트가 실행되는 동안 점유했던 메모리 공간을 반환한다.
int mysql_data_seek(int result_identifier, int row_number);
첫번째 인자인 결과 레코드식별자가 가리키는 결과 레코드 세트내에서 두번째 인자로 준 레코드 번호를 갖는 레코드로 포인터를 이동시킨다. 이동된 해당 레코드의 값을 얻 으려면 mysql_fetch_row()함수를 한번 호출해야 한다.
if(!mysql_data_seek($result, 3)) { }
$row = mysql_fetch_row($result);
ogbect mysql_fetch_field(int result, int[field_offset]);
결과 레코드식별자가 가리키는 결과 레코드세트로부터 필드정보를 객체 형태로 반환
array mysql_fetch_lengths(int result);
결과 레코드세트에서 레코드의 각 필드에 담긴 필드값의 크기를 구한다.
$length = mysql_fetch_lengths($result);
int mysql_list_dbs(link_identifier]);
연결식별자에 의해 연결이 확인된 MySQL 서버에 존재하는 데이터베이스의 리스트를 포인터로 반환한다. 이 결과 포인터를 mysql_result() 함수의 인자로 전달하여 실행하 면 해당 데이터베이스의 리스트를 구할 수 있다.
int mysql_list_tables(string database; int[link_identifier]);
현재 선택된 데이터베이스 내에 존재하는 필드의 리스트를 얻는다.
댓글목록 0
등록된 댓글이 없습니다.