▶ Null로 종결된 문자열 query 에 의해 가리키는 SQL 명령문을 실행한다.
mysql_query() - SQL 쿼리 실행 | |
형태 | int mysql_query(MYSQL *mysql, const char *query) |
리턴값 | 성공 : 0(zero) 에러 : Non-Zero. |
▶ length 바이트 길이의 문자열인 query에 의해 가리키는 SQL 쿼리를 실행한다.
mysql_real_query() - SQL 쿼리 실행 (바이너리 데이터를 포함한 쿼리) | |
형태 | int mysql_real_query(MYSQL *mysql, const char *query, unsigned long length) |
리턴값 | 성공 : 0(zero) 에러 : Non-Zero. |
▷ 일반적으로, 문자열은 하나의 싱글 SQL 명령문으로 구성된다.
그리고 사용자는 명령문에 종료 세미콜론 (';') 또는 \g를 명령문에 추가하지 말아야 한다.
다중 명령문 실행이 가능했다면, 문자열은 세미콜론들로 구분된 여러 개의 명령문으로 구성될 수 있다.
▷ mysql_query() 함수는 바이너리 데이터를 포함하는 쿼리들의 경우 사용될 수 없다.
바이너리 데이터에는 '\0' 문자가 포함될 수 있는데, mysql_query() 함수는 쿼리 문자열의 끝으로 해석될 수 있다.
바이너리 데이터를 포함한 쿼리의 경우 mysql_query() 함수보다 mysql_real_query() 함수를 사용.
▷ 쿼리 문자열에서 strlen() 을 호출하지 않기 때문에, mysql_real_query() 함수가 mysql_query() 함수보다 더 빠름.
▷ 쿼리 명령문이 결과 셋을 리턴하는지 알고 싶다면, mysql_field_count()를 사용해서 검사하도록 한다.
[ 에러 ] | |
CR_COMMANDS_OUT_OF_SYNC | 명령문이 불규칙한 순서로 실행됨 |
CR_SERVER_GONE_ERROR | MySQL 서버가 중단됨. |
CR_SERVER_LOST | 쿼리 동안 서버로의 연결이 끊김. |
CR_UNKNOWN_ERROR | 알 수 없는 에러 발생. |
'API 및 라이브러리 > MySQL C API' 카테고리의 다른 글
MySQL C API - 오류처리 (mysql_errno, mysql_error) (0) | 2011.07.12 |
---|---|
mysql_options() - 연결 옵션을 설정 (0) | 2011.07.12 |
mysql_real_connect() - MySQL 데이터베이스 연결 (0) | 2011.07.11 |
mysql_config명령을 이용한 MySQL C API 컴파일 (0) | 2011.07.11 |
MySQL C API 데이터 타입 (1) | 2011.07.11 |