::소개  ::배달라이더공간  ::리눅스  ::프로그래밍 
::로그인     ::회원가입

 프로그래밍
::C,C++   ::소스   ::만든 프로그램   ::자유게시판
C 에서 mysql 사용에 관해
겁나느린사람   좋아! 0   별로.. 0   2020-11-19 14:35:27
3. C API 자료형

C API에서 쓰이는 자료형에 대해서 알아 보자.
MYSQL : Database와의 연결을 관리하는 구조체이다. 대부분의 C API 함수에서 쓰인다.
MYSQL_RES : SELECT 등 결과를 리턴하는 query의 결과를 나타내는 자료형이다.
MYSQL_ROW : MYSQL_RES에서 하나의 레코드씩 값을 얻어 올때 쓰이는 자료형이다.
MYSQL_FIELD : 필드의 이름과 필드의 타입 등 필드에 관한 정보를 저장하는 자료형이다.


4. MySQL Database에 연결하기

이제 모든 준비를 마췄으므로 본격적으로 MySQL C API에 대해서 알아보자.

* MYSQL* mysql_init(MYSQL *mysql)
mysql_real_connect()를 위하여 MYSQL 객체를 초기화한다. 특별히 하는 일은 없으나 MYSQL 객체를 초기화 하므로 mysql_real_connect() 전에 꼭 호출하여 주자.

* MYSQL* mysql_real_connect(MYSQL* mysql, const char* host, const char* user,
const char* passwd, const char* db, uint port, const char* unix_socket, uint client_flag)
host에 지정된 서버로 연결을 시도하는 함수이다.
mysql_get_client_info() 함수를 제외한 모든 API 함수를 사용하기 전에 꼭 호출하여야 하는 함수이다.
각 인자에 대한 설명은 다음과 같다.

mysql : MYSQL 변수에 대한 포인터 형이다.
host : 연결하고자 하는 서버의 IP Address 혹은 도메인 이름을 적어주면 된다.
NULL로 적어주면 localhost를 의미한다.
user : 접속시의 사용자 이름이다. NULL이면 현재 login한 user ID가 된다.
passwd : user의 암호를 나타낸다. NULL이면 암호가 없다는 의미이다.
db : 접속시에 사용하고자 하는 database를 나타낸다. NULL로 지정을 하면 연결 후에
mysql_select_db() 혹은 mysql_query()를 이용해서 지정할 수 있고,
database를 바꿀 수도 있다.
port : TCP/IP 연결시에 사용할 포트 번호를 나타낸다.
unix_socket : 보통 NULL로 하면된다.
client_flag : 이 인자도 보통 0으로 해주면 된다.
mysql_real_connect()는 성공적으로 연결이 되면, MYSQL 포인터를 넘겨주고 연결에 실패하였을 경우 NULL을 리턴한다.
연결에 실패 하였을 경우 이 글이 마지막에 있는 ‘문제 해결’부분을 읽어 보길 바란다. 사용 예는 위의 예제에 나와있다.

* void mysql_close(MYSQL* mysql)
서버와의 연결을 끊고 mysql에 할당되었던 메모리를 해제한다.

출처: https://sacstory.tistory.com/entry/mysql-lib를-c에서-사용하기 [나긋한 개발자]

  좋아!   별로..
 C 에서 mysql 사용에 관해 - 예제 -몇가지 에러 대응
 C++ 과 C# 의 소켓 통신에 관해