1. µé¾î °¡´Â ¸»
Áö³ È£¿¡¼´Â MySQLÀ» ÀÌ¿ëÇÏ¿© °£´ÜÇÏ°Ô³ª¸¶
½´ÆÛ ¸¶ÄÏ¿¡¼ ¸ÅÃâÀ» °ü¸®ÇÏ´Â ¿¹¸¦ µé¾î SQL ¾ð¾î¿¡ ´ëÇؼ °£´ÜÈ÷
»ìÆì º¸¾Ò´Ù. ±âº»ÀûÀÎ SQL ¾ð¾î¸¸ ¾Ë¾Æµµ MySQLÀÇ Client ÇÁ·Î±×·¥À»
ÀÌ¿ëÇÏ¿© DataµéÀ» °ü¸®ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸, SQL ¾ð¾î¸¦ ¸ð¸£°Å³ª
ÄÄÇ»Å͸¦ Àß ´Ù·çÁö ¸øÇÏ´Â »ç¶÷µéÀº Database¸¦ ¾î¶»°Ô ¾µ ¼ö ÀÖÀ»±î.
¿ì¸®³× ½´ÆÛ¸¶ÄÏ ¾ÆÀú¾¾µé Áß¿¡¼ SQL ¾ð¾î¸¦ »ç¿ëÇؼ ¸ÅÃâÀ» °ü¸®ÇÒ
¼ö ÀÖÀ» ¾ÆÀú¾¾µéÀÌ ¾ó¸¶³ª ÀÖÀ»±î.
À̹ø È£¿¡¼´Â MySQLÀÇ C API¿¡ ´ëÇؼ ¾Ë¾Æº»´Ù.
MySQLÀÇ C API¸¦ ÀÌ¿ëÇϸé C³ª C++·Î § ÇÁ·Î±×·¥¿¡¼ MySQL ¼¹ö¿¡
Á¢¼ÓÀ» ÇÒ ¼ö ÀÖ´Ù. (¿ì¸®³× ½´ÆÛ¸¶ÄÏ ¾ÆÀú¾¾´Â ¾î·Á¿î SQL ¾ð¾î¸¦
¹è¿ï ÇÊ¿ä°¡ ¾ø´Ù. ½´ÆÛ¸¶ÄÏ ¾ÆÀú¾¾¸¦ ³·Ã纸´Â °ÍÀÌ ¾Æ´Ï¹Ç·Î Ç×ÀÇÇÏ´Â
ÀÏÀÌ ¾ø¾úÀ¸¸é ÇÑ´Ù.)
MySQL°ú ¿¬µ¿ÇÏ´Â ¹æ¹ýÀº C API¸¸ÀÌ ÀüºÎ´Â ¾Æ´Ï°í,
PHP3, Perl, MyODBC, JDBC¸¦ ÀÌ¿ëÇÏ¿© ¿¬µ¿À» ÇÒ ¼ö ÀÖ´Ù. À̹ø
ȸ¿¡¼´Â C API¿¡ ´ëÇؼ ¾Ë¾Æº¸µµ·Ï ÇÏ°í, ´ÙÀ½ ȸ¿¡¼ PHP3¿Í
MySQLÀ» ÀÌ¿ëÇÏ¿© Web°ú ¿¬µ¿ÇÏ´Â ¹ý¿¡ ´ëÇØ ¾Ë¾Æ º¸µµ·Ï ÇÑ´Ù.
2. ÇÁ·Î±×·¥ ÄÄÆÄÀÏ
C API¸¦ ¼Ò°³Çϱâ Àü¿¡ ÀÏ´Ü gccÀÇ ¿É¼ÇÀ» Àß
¸ð¸£´Â µ¶ÀÚ¸¦ À§ÇØ MySQLÀÇ C API¸¦ ÀÌ¿ëÇÑ ¼Ò½º Äڵ带 ÄÄÆÄÀÏÇÏ´Â
¹æ¹ý¿¡ ´ëÇؼ ¾Ë¾Æ º»´Ù. ¸ÕÀú ´ÙÀ½ÀÇ ¿¹Á¦¸¦ º¸ÀÚ.
#include <stdio.h> #include
<mysql.h> #include <errno.h>
void main(void) { MYSQL mysql ;
mysql_init(&mysql)
;
if(!mysql_real_connect(&mysql, NULL,
¡°»ç¿ëÀÚÀ̸§¡±,¡±¾ÏÈ£¡±, NULL ,3306, (char *)NULL, 0))
{printf(¡°%s¡¬n¡±,mysql_error(&mysql)); exit(1)
;} printf(¡°¼º°øÀûÀ¸·Î ¿¬°áµÇ¾ú½À´Ï´Ù.¡¬n¡±) ; mysql_close(&mysql)
;}
À§ÀÇ ¿¹Á¦´Â MySQL ¼¹ö¿¡ Á¢¼ÓÀ» ÇÏ¿©, ¿¬°áÀÌ
Á¦´ë·Î µÇ¾úÀ» °æ¿ì ¡®¼º°øÀûÀ¸·Î ¿¬°áµÇ¾ú½À´Ï´Ù.¡¯¶ó´Â ¸Þ½ÃÁö¸¦
Ãâ·ÂÇÏ°í Á¾·áÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ¿¬°áÀÌ ¾È µÉ °æ¿ì ¿Ö ¿¬°áÀÌ
¾È µÇ´ÂÁö Ãâ·ÂÀ» ÇÏ°Ô µÈ´Ù. ¿¡·¯°¡ ³ª¸é ±ÛÀÇ ÈĹݺο¡ ÀÖ´Â ¡®¹®Á¦
Çذᡯ ºÎºÐÀ» ÀÐ¾î º¸±æ ¹Ù¶õ´Ù. ÀÏ´Ü À§¿¡ ³ª¿Â ÇÔ¼öµéÀÇ ¼³¸íÀº
µÚ¿¡ ÇÏ°í ÄÄÆÄÀÏÀ» ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æ º¸ÀÚ. À§ÀÇ ¼Ò½º
Äڵ尡 con.c¶ó°í °¡Á¤À» ÇÑ´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÁ·ÒÇÁÆ®¿¡¼ ¸í·ÉÀ»
³»¸®¸é µÈ´Ù.
ÀÌ·¸°Ô Çϸé conÀ̶ó´Â ½ÇÇà ÆÄÀÏÀÌ »ý±â°Ô µÈ´Ù.
-I ¿É¼ÇÀº Çì´õ ÆÄÀÏÀÇ °æ·Î¸¦ Á¤ÇÑ´Ù. Áï, mysql.hÀÇ °æ·Î¸¦
ÁöÁ¤ÇØ ÁÖ¸ç, ÇÊÀÚÀÇ °æ¿ì ±× °æ·Î°¡/usr/local/include/mysqlÀÌ´Ù.
°¢ÀÚ °æ·Î°¡ Ʋ¸®¹Ç·Î Àڽſ¡°Ô ¸Â°Ô º¯°æÀ» ÇÏÀÚ. º¸Åë /usr/include/mysql
ȤÀº/usr/local/include/mysql ȤÀº /usr/include¿¡ Á¸ÀçÇÑ´Ù. /usr/include¿¡
ÀÖÀ» °æ¿ì¿¡´Â ÀÌ ¿É¼ÇÀ» ÁÖÁö ¾Ê¾Æµµ µÈ´Ù. -l ¿É¼ÇÀº ¸µÅ·½Ã
»ç¿ëÇÒ ¶óÀ̺귯¸®¸¦ ÁöÁ¤ÇÑ´Ù. MySQLÀÇ C API¸¦ »ç¿ëÇßÀ»
°æ¿ì¿¡´Â ²À -lmysqlclient¶ó´Â ¿É¼ÇÀ» ÁÖ¾î¾ß ÇÑ´Ù.
-L/usr/local/lib/mysql ¿É¼ÇÀº mysqlclient¶ó´Â
¶óÀ̺귯¸®ÀÇ °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ¿É¼Çµµ »ç¿ëÀÚ¿¡ µû¶ó ´Ù¸£´Ù.
MySQLÀÇ ¼³Ä¡ ½Ã¿¡ ¾îµð¿¡ ¶óÀ̺귯¸®¸¦ ¼³Ä¡Çß´ÂÁö È®ÀÎÇÏÀÚ. ÁöÁ¤µÈ
µð·ºÅ͸® ¹Ø¿¡¼ libmysqlclient.so ¶ó´Â ¶óÀ̺귯¸®¸¦ º¼ ¼ö ÀÖ´Ù.
¿É¼Ç°ú °æ·Î¸¦ Àß ÁöÁ¤ÇØ ÁÖ¾ú´Ù¸é À§ÀÇ ¼Ò½º ÄÚµå´Â Àß ÄÄÆÄÀÏ
µÇ°í, ½ÇÇà½Ã¿¡ MySQL µ¥¸óÀÌ ½ÇÇà ÁßÀ̶ó¸é ¡®¼º°øÀûÀ¸·Î ¿¬°áµÇ¾ú½À´Ï´Ù.¡¯¶ó´Â
¸Þ½ÃÁö¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
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¿¡ ÇÒ´çµÇ¾ú´ø ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÑ´Ù.
5. Query¿Í °á°ú °ªÀ» ¾ò¾î ¿À±â
¼¹ö¿Í ¼º°øÀûÀ¸·Î ¿¬°áÀÌ µÇ¾ú´Ù¸é, ÀÌÁ¦ ¿øÇÏ´Â
Query¸¦ ÇÏ°í, ±× °á°ú °ªÀ» ¾ò¾î ¿Ã ¼ö ÀÖ´Ù. Query¸¦ ÇÒ ¼ö ÀÖ´Â
ÇÔ¼ö´Â mysql_query()¿Í mysql_real query() µÎ °¡Áö°¡ ÀÖ´Ù.
* int mysql_query(MYSQL* mysql, const char*
query) :
query¸¦ ½ÇÇà ½ÃŲ´Ù. mysql Ŭ¶óÀ̾ðÆ®¿¡¼ Çß´ø °Í ó·³ queryÀÇ
³¡¿¡ ¡®;¡¯°¡ Æ÷ÇԵǾ ¾È µÈ´Ù. queryÀÇ ³¡Àº NULL ¹®ÀÚ(¡®\0¡¯)ÀÌ´Ù.
µû¶ó¼ ¹ÙÀ̳ʸ® µ¥ÀÌŸ°¡ ¼¯ÀÎ query´Â ¼öÇàÀ» ÇÒ ¼ö ¾ø´Ù. ¹ÙÀ̳ʸ®
µ¥ÀÌŸ°¡ ¼¯Àº queryÀÇ Áß°£¿¡´Â NULL ¹®ÀÚ°¡ ¿Ã ¼öµµ Àֱ⠶§¹®ÀÌ´Ù.
query¸¦ ¼º°øÀûÀ¸·Î ¸¶Ãè´Ù¸é 0À» ¸®ÅÏÇÑ´Ù.
* int mysql_real_query(MYSQL* mysql, const
char* query, unsigned int length) :
mysql_query()´Â queryÀÇ ³¡À» NULL ¹®ÀÚ·Î ±¸ºÐÀ» Çϴµ¥ ¹ÝÇØ,
mysql_real_query´Â queryÀÇ ³¡À» length ¸¸ÅÀÇ ±æÀÌ·Î ±¸ºÐÇÑ´Ù.
µû¶ó¼ NULL ¹®ÀÚ¸¦ Æ÷ÇÔÇÑ ¹ÙÀ̳ʸ® µ¥ÀÌŸ°¡ ÀÖ´Â queryµµ ¼öÇàÀ»
ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑmysql_query()´Â³»ºÎÀûÀ¸·Îstrlen()¸¦ »ç¿ëÇÏÁö¸¸,
mysql_real_query()´Â ±×·¸Áö ¾ÊÀ¸¹Ç·Î Á»´õ ºü¸£´Ù. ¸¶Âù°¡Áö·Î
query¸¦ ¼º°øÀûÀ¸·Î ¼öÇàÇÏ¿´À» °æ¿ì 0À» ¸®ÅÏÇÑ´Ù.
À§ÀÇ ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© query¸¦ ¼öÇàÇÒ ¼ö°¡ ÀÖ´Ù. È£ÃâÇÏ´Â ¹æ¹ýÀº
¸Å¿ì °£´ÜÇÏ´Ù.
mysql_query(&mysql, ¡°SELECT * FROM dome¡±)
;
À§¿Í °°ÀÌ query¸¦ ¼öÇàÇÏ¸é µÈ´Ù. query¸¦ ¼º°øÀûÀ¸·Î ¼öÇàÇß´Ù¸é,
ÀÌÁ¦ °á°ú °ªÀ» ¾ò¾î ¿Í¾ß ÇÑ´Ù.
* MYSQL_RES* mysql_store_result(MYSQL* mysql)
* MYSQL_RES* mysql_use_result(MYSQL* mysql)
À§ µÎ ÇÔ¼ö´Â ¸ðµÎ ¼¹ö·ÎºÎÅÍ °á°ú °ªÀ» ¾ò¾î ¿À´Âµ¥, Â÷ÀÌ´Â queryÀÇ
°á°ú·Î ¸®ÅϵǴ ROWµéÀ» ÇѲ¨¹ø¿¡ ¸ðµÎ ¼¹ö·ÎºÎÅÍ ¾ò¾î ¿Ã °ÍÀÎÁö(mysql_store_result()),
ȤÀº Çѹø¿¡ ÇÑ °³ÀÇ ROW¸¦ ¾ò¾î ¿Ã °Í(mysql_use_result())ÀÇ Â÷ÀÌÀÌ´Ù.
mysql_store_result()´Â ROWµéÀ» ÇÑ ²¨¹ø¿¡ ¸ðµÎ ¾ò¾î¿Í Ŭ¶óÀ̾ðÆ®ÀÇ
¸Þ¸ð¸®¿¡ ÀúÀåÀ» ÇÑ´Ù. µû¶ó¼ ¸Å¹ø ROW¸¦ ¾ò¾î ¿À±â À§ÇØ ¼¹ö¿¡
Á¢±ÙÀ» ÇÒ ÇÊ¿ä°¡ ¾øÀ¸¹Ç·Î ¼Óµµ°¡ ºü¸£´Ù. ´ë½Å °á°ú·Î ³Ñ¾î¿Â
ROWÀÇ Å©±â°¡ Ŭ °æ¿ì ¸¹Àº ¸Þ¸ð¸®°¡ ÇÊ¿äÇÏ°Ô µÈ´Ù. ¶Ç mysql_store_result()ÀÇ
ÀåÁ¡Àº mysql_data_seek()³ª mysql_row_seek()¸¦ ÀÌ¿ëÇÏ¿© ÇöÀç
ROW¿¡¼ ¾ÕÀ̳ª µÚÀÇ ROW·Î ÀÚÀ¯ÀÚÀç·Î ¿Ô´Ù °¬´Ù ÇÒ ¼ö ÀÖ´Ù´Â
°ÍÀÌ´Ù. ¶ÇÇÑ, mysql_num_rows()¸¦ ÀÌ¿ëÇÏ¿©, ¸î °³ÀÇ ROW°¡ ¸®ÅϵƴÂÁöµµ
¾Ë ¼ö ÀÖ´Ù.
¹Ý¸é mysql_use_result()´Â ÇÑ ¹ø¿¡ ÇÑ °³ÀÇ
ROW¸¦ ¼¹ö·ÎºÎÅÍ °¡Á® ¿Â´Ù. µû¶ó¼ ¸Þ¸ð¸®¸¦ ¸¹ÀÌ »ç¿ëÇÏÁö ¾Ê´Â´Ù.
ÇÏÁö¸¸, mysql_store_result()¿Í °°Àº ÀåÁ¡À» °¡Áö Áö ¾Ê´Â´Ù. ¸®ÅϵǴÂ
ROW°¡ Ưº°È÷ Å©Áö ¾ÊÀº °æ¿ì¶ó¸é, º¸Åë mysql_store_result()¸¦
È£ÃâÇÏ´Â °ÍÀÌ ÁÁ´Ù.
°á°ú °ªÀ» ¾ò¾î ¿Ô´Ù¸é mysql_fetch_row()¸¦
ÀÌ¿ëÇÏ¿© °¢°¢ÀÇ row¿¡ ÀÖ´Â µ¥ÀÌŸ µé¿¡ Á¢±ÙÀ» ÇÒ ¼ö ÀÖ´Ù.
MYSQL_ROW mysql_fetch_row(MYSQL_ROW* result)
result¿¡ ÀÖ´Â ROWµé¿¡¼ ÇÑ °³ÀÇ ROW¸¦ ¾ò¾î ¿Â´Ù. ÇÑ °³ÀÇ
ROW¿¡¼ °¢°¢ÀÇ field´Â ¹è¿ ÇüÅ·Πµé¾î ÀÖ´Ù. ´õ ÀÌ»ó °¡Á®¿Ã
ROW°¡ ¾øÀ¸¸é NULLÀ» ¸®ÅÏÇÑ´Ù. ÇöÀçÀÇ result¿¡ ¸î °³ÀÇ field°¡
ÀÖ´ÂÁö mysql_num_fields()¸¦ ÀÌ¿ëÇÏ¿© ¾Ë ¼ö ÀÖ´Ù.
int mysql_num_fields(MYSQL_RES* result)
ÀÌÁ¦ ½ÇÁ¦·Î query¸¦ ¼öÇàÇÏ°í, °á°ú¸¦ Ãâ·ÂÇÏ¿©
º¸ÀÚ.
1: #include
<stdio.h> 2: #include
<mysql.h> 3: #include
<errno.h> 4: 5: void
main(void) 6: {
7: MYSQL mysql
; 8: MYSQL_RES* res
; 9: MYSQL_ROW row
; 10: int
fields ; 11:
12: mysql_init(&mysql)
; 13: 14: if(!mysql_real_connect(&mysql,
NULL, ¡°»ç¿ëÀÚ¡±,¡±¾ÏÈ£¡±, ¡°test¡±, 3306, (char *)NULL,
0)) 15: { 16: printf(¡°%s¡¬n¡±,mysql_error(&mysql));
17:
exit(1) ; 18: }
19: 20: if(mysql_query(&mysql,
¡°USE super¡±) ) //
mysql_query()´Â query ¼öÇà½Ã¿¡ ¿¡·¯°¡ ³ª°Ô µÇ¸é //
0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÑ´Ù. { printf(¡°%s¡¬n¡±, mysql_error(&mysql)
; exit(1)
; }
21: if(mysql_query(&mysql,
¡°SELECT * FROM dome¡±) ) { printf(¡°%s¡¬n¡±, mysql_error(&mysql)
; exit(1)
;
}
22: 23: res
= mysql_store_result( &mysql ) ; 24: fields
= mysql_num_fields(res) ; 25:
26: while( ( row = mysql_fetch_row(
res ) )) 27: {
28: for( cnt = 0 ; cnt <
fields ; ++cnt) 29: printf(¡°%12s
¡°, row[cnt]) ; 30: 31: printf(¡°¡¬n¡±)
; 32: }
33: 34: mysql_free_result(
res ) ; 35: mysql_close(&mysql)
; 36: }
12¹ø ÁÙÀº mysql_init()À» ÀÌ¿ëÇÏ¿© MYSQL °´Ã¼¸¦
ÃʱâÈ ÇÏ´Â °úÁ¤ÀÌ´Ù. 14¹ø ÁÙÀº ½ÇÁ¦ MySQL ¼¹ö¿Í ¿¬°áÀ»
½ÃµµÇÏ´Â ºÎºÐÀÌ´Ù. ¿¬°á¿¡ ½ÇÆÐÇÏ¿´À» °æ¿ì NULLÀ» ¸®ÅÏÇϹǷÎ
15-18¹ø ÁÙ¿¡¼, ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°í ÇÁ·Î±×·¥À» Á¾·áÇÑ´Ù.
20¹ø ÁÙÀº ¡°use super¡±¶ó´Â query¸¦ ÀÌ¿ëÇÏ¿© ¡®super¡¯ database¸¦
»ç¿ëÇϵµ·Ï ÁöÁ¤ÇÏ´Â ºÎºÐÀÌ´Ù. »ç¿ëÇÏ°íÀÚ ÇÏ´Â database´Â mysql_real_connect()¿¡¼
ÁöÁ¤À» ÇÒ ¼öµµ ÀÖ°í, ÇÁ·Î±×·¥ ½ÇÇà Áß¿¡ ¹Ù²Ù°íÀÚ ÇÒ ¶§´Â ¡°use
DBÀ̸§¡±°ú °°Àºquery¸¦ ÀÌ¿ëÇÒ ¼öµµ ÀÖ°í, ȤÀº mysql_select_db()¸¦
ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù. 21¹ø ÁÙÀº ¡°SELECT * FROM dome¡± query¸¦
¼öÇàÇÏ´Â ºÎºÐÀÌ´Ù. dome Å×À̺íÀÇ ¸ðµç Ä÷³À» ¸®ÅÏÇϵµ·Ï ÇÏ¿´´Ù.
23¹ø ÁÙÀº mysql_store_result()¸¦ ÀÌ¿ëÇÏ¿© °á°ú °ªÀ» ÀúÀåÇÏ´Â
ºÎºÐÀÌ´Ù. 24¹ø ÁÙÀº mysql_num_fields()¸¦ ÀÌ¿ëÇÏ¿© ÇöÀç °á°ú
°ª¿¡ ¸î °³ÀÇ Çʵ尡 ÀÖ´ÂÁö ¾Ë¾Æ ³»´Â ºÎºÐÀÌ´Ù. mysql_fetch_row()´Â
¹è¿ ÇüÅ·Π°¢ Çʵ忡 Á¢±ÙÀ» ÇϹǷΠ¹è¿ÀÇ À妽º¸¦ ¾Ë¾Æ³»¾ß
Á¤È®È÷ µ¥ÀÌŸµéÀ» ¾ò¾î ¿Ã ¼ö ÀÖ´Ù.
26-32¹ø ÁÙÀº ½ÇÁ¦·Î °¢ ROWµé·ÎºÎÅÍ µ¥ÀÌŸ¿¡
Á¢±ÙÇÏ´Â ºÎºÐÀÌ´Ù. mysql_fetch_row()¸¦ ÀÌ¿ëÇÏ¿© °¢°¢ÀÇ ROW¸¦
¾ò¾î ¿Â´Ù(´õÀÌ»ó °¡Á®¿Ã ROW°¡ ¾øÀ¸¸é NULLÀ» ¸®ÅÏÇÑ´Ù.) ±× ÈÄ
for¹®À» ÀÌ¿ëÇÏ¿© ROWÀÇ °¢°¢ Çʵ带 Ãâ·ÂÇÏ¿´´Ù. 34-35¹ø ÁÙÀº
res¿Í mysql¿¡ ÇÒ´çµÈ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÏ´Â ºÎºÐÀÌ´Ù. ÇÏÁö¸¸, query¿¡
µû¶ó¼´Â ROW¸¦ ¸®ÅÏÇÏÁö ¾Ê´Â queryµµ ÀÖ´Ù(UPDATE³ª DELETEµî)
¸¸¾à À§ÀÇ ¿¹Á¦¿¡¼ »ç¿ëÀÚ°¡ UPDATE µîÀ» ¼öÇàÇÏ¿´´Ù¸é, °ð¹Ù·Î
Segmentation Fault°¡ ³ª¹ö¸°´Ù. À̶§´Â mysql_num_fields()¸¦
ÀÌ¿ëÇÏ¿©, ÇʵåÀÇ °³¼ö¸¦ Á¶»çÇÔÀ¸·Î½á ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù.
query°¡ ROW¸¦ ¸®ÅÏÇÏ¿´´Ù¸é, Çʵå´Â ÃÖ¼ÒÇÑ 0º¸´Ù Å©±â ¶§¹®ÀÌ´Ù.
´ÙÀ½ÀÇ ¿¹Á¦¸¦ º¸ÀÚ(Âü°í·Î ¹ØÀÇ ¿¹Á¦´Â MySQL Manual 19Àå¿¡¼
¹ßÃéÇÑ ³»¿ëÀÌ´Ù.)
MYSQL_RES* result
; unsigned int
num_fields ; unsigned int
num_rows ;
if( mysql_query(&mysql,
query_string) ) { // mysql_query´Â ¼º°øÀûÀ¸·Î
// ¼öÇàÇÒ °æ¿ì 0À» ¸®ÅÏÇϹǷΠ// ÀÌ ºÎºÐÀÌ ½ÇÇà µÈ´Ù¸é
// ¿¡·¯°¡ ÀÖ´Ù´Â ÀǹÌÀÌ´Ù. // ÀûÀýÇÑ ¿¡·¯ Çڵ鸵À»
ÇØÁÖ´Ù. } else // ¼º°øÀûÀ¸·Î query°¡ ¼öÇàµÇ¾ú´Ù.
{ result = mysql_store_result( &mysql ) ; if(
result ) // ¸®ÅÏµÈ ROW°¡ ÀÖ´Ù ! { num_fields = mysql_num_fields(
result ) ; // rowÀÇ °ªÀ» ¾ò¾î¿À´Â ·çƾÀ» Áý¾î ³ÖÀ¸¸é
µÈ´Ù. // ¸¶Áö¸·¿¡´Â mysql_free_result()¸¦ ÀÌ¿ëÇÏ¿©
// ¸Þ¸ð¸®¸¦ ÇØÁ¦½ÃÅ°ÀÚ. } else // ¸®ÅÏµÈ ROW°¡ ¾ø´Ù.
ROW¸¦ ¸®ÅÏÇÏÁö ¾Ê´Â query¸¦ ¼öÇàÇÏ¿´´ÂÁö // ȤÀº queryÀÇ
¼öÇà Áß¿¡ ¿¡·¯³ª ³µ´ÂÁö ¾Ë ¼ö ¾ø´Ù. { if( mysql_num_fields(
&mysql ) == 0) { // ROW¸¦ ¸®ÅÏÇÏÁö ¾Ê´Â query¸¦
¼öÇàÇÏ¿´´Ù. num_rows = mysql_affected_rows( &mysql
) ; // mysql_affected_rows()´Â DELETE µîÀÇ // query¿¡¼
¸î °³ÀÇ ROW°¡ ¿µÇâÀ» ¹Þ¾Ò´ÂÁö // ¸®ÅÏÇÏ´Â ÇÔ¼öÀÌ´Ù.
} else // ¹«¾ð°¡ À߸øµÈ °ÍÀÌ ÀÖ´Ù.
fprintf(¡°stderr,Error : %s¡¬n¡±,mysql_error( &mysql)
) ; // mysql_error()´Â °¡Àå ÃÖ±ÙÀÇ ¿¡·¯¸¦ ¸®ÅÏÇÏ´Â ÇÔ¼öÀÌ´Ù.
} } À§ÀÇ ¿¹Á¦¸¦ ÀÌ¿ëÇÏ¿©, °á°ú¸¦ ¸®ÅÏÇÏ´Â query
µçÁö(SELECT), ¾Æ´Ï¸é °á°ú¸¦ ¸®ÅÏÇÏÁö ¾Ê´Â query µçÁö(UPDATE,
DELECT µî) ¾î¶°ÇÑ query¶óµµ ¼öÇàÀ» ¼º°øÀûÀ¸·Î ÇÒ ¼ö ÀÖ´Ù.
À̹ø¿¡´Â ROWÀÇ Çʵ忡 ´ëÇÑ Á¤º¸¸¦ ¾ò¾î ¿À´Â
¹æ¹ý¿¡ ´ëÇؼ ¾Ë¾Æ º¸ÀÚ. MYSQL_FIELD¶ó´Â ±¸Á¶Ã¼°¡ ¾²À̴µ¥ MYSQL_FIELD¿¡´Â
´ÙÀ½°ú °°Àº ¸â¹öµéÀÌ ÀÖ´Ù.
char* name : ÇʵåÀÇ À̸§À» ³ªÅ¸³½´Ù.
char* table : ÇöÀç ÇʵåÀÇ Å×À̺í À̸§À» ³ªÅ¸³½´Ù. char*
def : ÇʵåÀÇ ±âº»°ªÀ» ³ªÅ¸³½´Ù.
MYSQL_FIELD* mysql_fetch_field( MYSQL_RES*
result ) : Çѹø¿¡ ÇϳªÀÇ MYSQL_FIELD¸¦ ¸®ÅÏÇÑ´Ù. MYSQL_FIELD*
mysql_fetch_fields(MYSQL_RES* result ) : ¹è¿ÀÇ ÇüÅ·Π¸ðµç
MYSQL_FIELD¸¦ ¸®ÅÏÇÑ´Ù.
¿¹1) MYSQL_FIELD *field ; while(
(field = mysql_fetch_field(result) ) printf(¡°field
name %s¡¬n¡±, field -> name ) ;
¿¹2) unsigned int num_fields ;
unsigned int i ; MYSQL_FIELD* fields ; num_fields
= mysql_num_fields( result ) ; fields = mysql_fetch_fields(
result ) ; for( i = 0 ; i < num_fields ; ++i)
printf(¡°field name %s¡¬n¡±, fields[i].name) ;
À§ÀÇ µÎ °³ÀÇ ¿¹´Â ¸ðµÎ µ¿ÀÏ¾È °á°ú¸¦ Ãâ·ÂÇÑ´Ù.
6. ¹®Á¦ ÇØ°á
À̹ø¿¡´Â C API¸¦ »ç¿ëÇÑ ¼Ò½º Äڵ带 ÄÄÆÄÀÏÇÒ
¶§ ȤÀº, ½ÇÇà µµÁß ¸¸³ª´Â ¹®Á¦Á¡À» ÇØ°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
1) ¡°con.c:2: mysql.h: ±×·± ÆÄÀÏÀ̳ª µð·ºÅ丮°¡
¾øÀ½¡± ÀÌ °æ¿ì´Â mysql.hÀÇ °æ·Î¸¦
ãÀ» ¼ö ¾ø¾î¼ ³ª´Â ¿¡·¯ÀÌ´Ù. ´Ù½Ã Çѹø mysql.h°¡
¾îµð¿¡ ÀÖ´ÂÁö È®ÀÎÀ» ÇÏ°í, -I¿É¼ÇÀ¸·Î
±× °æ·Î¸¦ ÁöÁ¤ÇØ ÁÖÀÚ. -I¿É¼Ç°ú °æ·Î´Â
ºÙ¿© ½á¾ß ÇÑ´Ù.
2) ¡°con.o(.text+0x11): undefined reference
to `mysql_init¡¯¡± À§¿Í °°ÀÌ
¡®undefined reference......¡¯ ¶ó°í
³ª¿À´Â ¿¡·¯´Â -lmysqlclient ¿É¼ÇÀ» ÁÖÁö ¾Ê¾Ò±â
¶§¹®ÀÌ´Ù.
3) ¡°ld: cannot open -lmysqlclient: ±×·±
ÆÄÀÏÀ̳ª µð·ºÅ丮°¡ ¾øÀ½¡± À§ÀÇ ¿¡·¯´Â
-L¿É¼Ç µÚ¿¡ ºÙÀº ¶óÀ̺귯¸®ÀÇ °æ·Î°¡
À߸ø µÇ¾ú±â ¶§¹®ÀÌ´Ù. libmysqlclient.so
ÆÄÀÏÀÇ °æ·Î¸¦ ã¾Æ¼ ±× °æ·Î·Î ÁöÁ¤À» ÇØ ÁÖÀÚ. -I
¿É¼Ç°ú ¸¶Âù°¡Áö·Î -L°ú °æ·Î´Â ºÙ¿© ½á¾ß ÇÑ´Ù. À§ÀÇ ¿¡·¯µéÀº
ÄÄÆÄÀϽÿ¡
¿É¼ÇÀÌ À߸øµÇ¾úÀ» °æ¿ì
³ª¿À´Â ¿¡·¯ ¸Þ½ÃÁöÀÌ´Ù. °è¼ÓÇؼ
ÇÁ·Î±×·¥ÀÇ ½ÇÇà Áß¿¡ ³ª¿À´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ º¸ÀÚ.
4) ¡°Can¡¯t connect to local MySQL server
(2)¡± À§ÀÇ ¿¡·¯´Â MySQLÀÇ ¼¹ö¿¡
¿¬°áÀ» ÇÒ ¼ö ¾ø´Ù´Â ¸Þ½ÃÁö·Î¼, MySQL ¼¹öÀÇ
µ¥¸óÀÌ ½ÇÇà ÁßÀÌÁö ¾ÊÀ» ¶§ ³ª¿À´Â
¸Þ½ÃÁöÀÌ´Ù. safe_mysqld ¸í·É
µîÀ» ÀÌ¿ëÇÏ¿© µ¥¸óÀ» ½ÇÇà½ÃÄÑ ÁÖÀÚ.
5) ¡°Access denied for user: ¡®rot@localhost¡¯
(Using password: YES)¡± Á¢±ÙÀÌ
±ÝÁöµÇ¾ú´Ù´Â ¸Þ½ÃÁö·Î¼ »ç¿ëÀÚ ¾ÆÀ̵𸦠À߸ø ÀÔ·ÂÇÏ¿´ °Å³ª, ȤÀº
¾ÏÈ£¸¦ À߸ø ÀÔ·ÂÇÏ¿´À» ¶§ ³ª¿À´Â
¸Þ½ÃÁöÀÌ´Ù. MySQLÀÇ »ç¿ëÀÚ´Â
¸ðµÎ mysql databaseÀÇ user Å×ÀÌºí¿¡ ÀÖÀ¸¹Ç·Î, Âü°í¸¦
ÇÏ¿© Àûµµ·Ï ÇÏÀÚ.
6) ¡°error in loading shared libraries
libmysqlclient.so.6:
cannot open shared object file:
No such file or directory¡± MySQLÀÇ
¶óÀ̺귯¸®¸¦ ¿Áö ¸øÇÑ´Ù´Â ¸Þ½ÃÁöÀÌ´Ù. ÄÄÆÄÀÏ ÇÒ ¶§ MySQLÀÇ
µ¿Àû
¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Àµ¥, µ¿Àû ¶óÀ̺귯¸®À̹ǷÎ
½ÇÇà½Ã¿¡µµ ¶óÀ̺귯¸®°¡
ÇÊ¿äÇÏ°Ô µÈ´Ù. libmysqlclient.so°¡
/usr/lib ȤÀº /usr/lib/mysql µð·ºÅ͸®¿¡ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì¿¡
¹ß»ýÇÏ´Â ¹®Á¦ÀÌ´Ù. °¡Àå °£´ÜÇÑ ÇØ°á¹ýÀ¸·Î´Â
¸ðµç MySQL ¶óÀ̺귯¸®¸¦ /usr/lib/
³ª /usr/local/lib ¹ØÀ¸·Î º¹»çÇÏ´Â
°ÍÀε¥ º°·Î ÃßõÇÏ´Â ¹æ¹ýÀº ¾Æ´Ï´Ù.
µÎ °¡Áö ¹æ¹ýÀÌ Àִµ¥, ¸ÕÀú
½Ã½ºÅÛÀÇ ¿î¿µÀÚ¶ó¸é, /etc/ld.so.conf ÆÄÀÏ¿¡libmysqlclient.so°¡ÀÖ´Â
°æ·Î¸¦ Àû¾î ÁØ ÈÄ¿¡ ldconfig ¶ó´Â
¸í·ÉÀ» ÇÁ·ÒÇÁÆ®¿¡¼ ½ÇÇàÇÏ¿© ÁÖ¸é µÈ´Ù. ÀÌ·¯ÇÑ ±ÇÇÑÀÌ
¾ø´Â ÀÏ¹Ý »ç¿ëÀÚ¶ó¸é, ÀÚ½ÅÀÇ ½©ÀÇ
ȯ°æ º¯¼ö¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. °¢ÀÚÀÇ
½©ÀÌ ¸Â°Ô, LD_LIBRARY_PATH¸¦ libmysqlclient.so°¡ ÀÖ´Â µð·ºÅ͸®·Î
ÁöÁ¤À» ÇØÁÖÀÚ. C
½© »ç¿ëÀÚ´Â setenv LD_LIBRARY_PATH °æ·Î¸í º»
½© »ç¿ëÀÚ´Â
export LD_LIBRARY_PATH °æ·Î¸í
ÀÌ·¸°Ô ÇØÁÖ¸é µÈ´Ù. º¸Åë À§ÀÇ
6°³ÀÇ ¿¡·¯°¡ °¡Àå ¸¹ÀÌ ¹ß»ýÇÑ´Ù. Ȥ½Ã, ÇØ°áÇÏÁö ¸øÇÒ ¿¡·¯°¡
ÀÖ´Ù¸é
ÇÊÀÚ¿¡°Ô ¸ÞÀÏÀ» º¸³»¸é Ä£ÀýÈ÷ ´äº¯ÇØ
ÁÖ°Ú´Ù.
7. Quick Reference
À§¿¡¼ ¼³¸íÇÑ API¸¸À» °¡Áö°íµµ ¼¹ö¿¡ ¿¬°áÇÏ¿©,
Query¸¦ ¼öÇàÇÏ°í ±× °á°ú¸¦ È®ÀÎ ÇÒ ¼ö ÀÖ´Ù. À̹ø¿¡´Â C APIÀÇ
Áß¿äÇÑ ÇÔ¼öµéÀ» ¸ð¾Æ¼, ÇÔ¼öÀÇ ÇÁ·ÎÅäŸÀÔ°ú ÇÔ¼öÀÇ ±â´Éµé¿¡
´ëÇؼ °£´ÜÈ÷ ¾Ë¾Æµµ·Ï ÇÏÀÚ. °³ÀÎÀûÀ¸·Î ±×´ÙÁö Áß¿äÇÏÁö ¾Ê´Ù°í
»ý°¢µÇ´Â ÇÔ¼öµéÀº Á¦¿Ü½ÃÄ×À¸¹Ç·Î ¸ðµç C API¸¦ º¸°í ½ÍÀº µ¶ÀÚµéÀº
MySQL Reference ManualÀÇ 19ÀåÀ» º¸±â ¹Ù¶õ´Ù. Âü°í·Î ÇÊÀÚ°¡ ÂüÁ¶ÇÑ
¸Þ´º¾óÀº MySQL 3.22.21¿ë ¸Þ´º¾óÀ̾ú´Ù.
1) my_ulonglong mysql_affected_rows(MYSQL*
mysql) INSERT, UPDATE, DELETE µîÀÇ
query·Î ¿µÇâÀ» ¹ÞÀº ROWÀÇ ¼ö¸¦ ¸®ÅÏÇÑ´Ù.
2) void mysql_close(MYSQL* mysql) ¼¹ö¿ÍÀÇ
¿¬°áÀ» Á¾·áÇÑ´Ù.
3) void mysql_data_seek(MYSQL_RES* result,
unsigned int offset) result¿¡¼ ÀÓÀÇÀÇ ROW¿¡
Á¢±ÙÀ» Çϵµ·Ï ÇÏ´Â ÇÔ¼öÀÌ´Ù. offsetÀÌ
rowÀÇ ¹øÈ£¸¦ ³ªÅ¸³½´Ù. 0À̸é óÀ½ ROW, mysql_num_rows(
result ) - 1 Àº ¸¶Áö¸· row¸¦
³ªÅ¸³½´Ù.
4) unsigned int mysql_errno(MYSQL* mysql)
°¡Àå ÃÖ±Ù¿¡ mysql¿¡ ÀÏ¾î³ ¿¡·¯ÀÇ
¹øÈ£¸¦ ¸®ÅÏÇÑ´Ù.
5) char* mysql_error(MYSQL* mysql) °¡Àå
ÃÖ±Ù¿¡ ÀÏ¾î³ ¿¡·¯ ¸Þ½ÃÁö¸¦ ¸®ÅÏÇÑ´Ù.
6) MYSQL_FIELD*mysql_fetch_field(MYSQL_RES*
result)Çѹø È£ÃâÇÒ ¶§¸¶´Ù ÇϳªÀÇ Çʵ忡
´ëÇÑ Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù.
7) MYSQL_FIELDS*mysql_fetch_fields(MYSQL_RES*
result) ¹è¿Çü´ë·Î resultÀÇ
Çʵ忡 ´ëÇÑ Á¤º¸¸¦ ÇѲ¨¹ø¿¡ ¸®ÅÏÇÑ´Ù.
8) MYSQL_FIELD_OFFSETmysql_field_seek(MYSQL*
mysql, MYSQL_FIELD_OFFSET offset)ÀÓÀÇÀÇ
Çʵ忡 Á¢±ÙÀ» Çϵµ·Ï ÇÑ´Ù.
9) MYSQL_FIELD_OFFSETmysql_field_tell(MYSQL_RES*
result)ÇöÀç ÇʵåÀÇ offsetÀ» ¸®ÅÏÇÑ´Ù.
10) void mysql_free_result(MYSQL_RES*
result) result¿¡ ÇÒ´çµÈ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÑ´Ù.
11) MYSQL* mysql_init(MYSQL* mysql) mysql
°´Ã¼¸¦ ÃʱâÈÇÑ´Ù. ÀÎÀÚ°¡
NULLÀÌ¸é »õ·Î¿î MYSQL °´Ã¼¸¦ »ý¼ºÇÏ°í, ÃʱâÈÇÏ¿© ¸®ÅÏÇÑ´Ù.
12) MYSQL_RES* mysql_list_dbs(MYSQL* mysql,
const char* wild) ÇöÀç
¼¹ö¿¡ ÀÖ´Â µ¥ÀÌŸº£À̽ºÀÇ ¸ñ·ÏÀ» ¸®ÅÏÇÑ´Ù. wild´Â MySQL¿¡¼
»ç¿ëÇÒ ¼ö ÀÖ´Â Á¤±Ô½ÄÀ»
³ªÅ¸³½´Ù. result
= mysql_list_dbs( &mysql,¡±%¡± )´Â ¸ðµç µ¥ÀÌÅͺ£À̽º¸¦
¸®ÅÏÇÏ´Â ¿¹ÀÌ´Ù. (%´Â ¡®¸ðµç¡¯À»
³ªÅ¸³½´Ù)
13) MYSQL_RES* mysql_list_tables(MYSQL*
mysql, const char* wild) ÇöÀç
µ¥ÀÌŸº£À̽º¿¡ ÀÖ´Â Å×À̺íµéÀÇ ¸ñ·ÏÀ» ¸®ÅÏÇÑ´Ù.
14) unsigned int mysql_num_fields(MYSQL_RES*result)
ȤÀº
unsigned int mysql_num_fields(MYSQL*
mysql)ÇʵåÀÇ ¼ö¸¦ ¸®ÅÏÇÑ´Ù.
15) my_ulonglong mysql_num_rows(MYSQL_RES*
result) result¿¡ ÃÑ ¸î °³ÀÇ ROW°¡ ÀÖ´ÂÁö
¸®ÅÏÇÑ´Ù. query ¼öÇà ÈÄ mysql_store_result()¸¦ È£ÃâÇÏ¿´À»
°æ¿ì¿¡¸¸ »ç¿ë
ÇÒ ¼ö ÀÖ°í, mysql_use_result()´Â
»ç¿ëÇÒ ¼ö ¾ø´Ù.
16) int mysql_ping(MYSQL* mysql) ¼¹ö¿¡
¿¬°á ÁßÀÎÁö¸¦ ¸®ÅÏÇÑ´Ù. ¿¬°áÀÌ ²÷¾î Á³À» °æ¿ì,
´Ù½Ã ¿¬°áÀ» ½ÃµµÇÑ´Ù. ¼¹ö¿Í ¿¬°áÀ» ÇÑ ÈÄ, ¿À·§µ¿¾È
°¡¸¸È÷ ÀÖÀ¸¸é ¼¹ö°¡ ¿¬°áÀ»
²÷¾î¹ö¸®´Âµ¥, ÀÌ·± °æ¿ì¿¡ »ç¿ëÇÑ´Ù.
17) int mysql_query(MYSQL* mysql, const
char* query) query°¡ Æ÷ÀÎÆ® ÇÏ´Â Äõ¸®¸¦ ¼öÇàÇÑ´Ù.
queryÀÇ ³¡Àº NULL ¹®ÀÚÀÌ´Ù. ¼º°øÀûÀ¸·Î query¸¦ ¼öÇàÇÏ¿´À¸¸é
0À»
¸®ÅÏÇÑ´Ù.
18) MYSQL* mysql_real_connect(MYSQL* mysql,
const char* host,
const char* user, const
char* passwd, const char* db, uint port,
const char* unix_socket,
unit client_flag ) host¿ÍÀÇ ¿¬°áÀ» ½ÃµµÇÑ´Ù.
ÀÎÀÚº°·Î ÀÚ¼¼ÇÑ ¼³¸íÀº
À ºÎºÐ¿¡ µÇ¾î ÀÖ´Ù.
19) int mysql_real_query(MYSQL* mysql,
const char* query,
unsigned int length)mysql_query()ó·³
query¸¦ ¼öÇàÇϳª, queryÀÇ ³¡ÀÌ legnthÀÎ °ÍÀÌ
´Ù¸£´Ù.
20) MYSQL_ROW_OFFSET mysql_row_tell(MYSQL_RES*
result)ÇöÀç ROWÀÇ offsetÀ» ¸®ÅÏÇÑ´Ù.
21) int mysql_select_db(MYSQL* mysql,
const char* db)»ç¿ëÇÏ°íÀÚ ÇÏ´Â database
¸¦ º¯°æÇÑ´Ù. mysql_query()¸¦
ÀÌ¿ëÇÏ¿© ¡°use dbÀ̸§¡±ÀÇ query¸¦ ¼öÇàÇصµ °°Àº °á°ú¸¦
¾ò´Â´Ù.
22) int mysql_shutdown(MYSQL* mysql) ¼¹ö¸¦
Á¾·á½ÃŲ´Ù. ÇöÀç »ç¿ëÀÚ¿¡°Ô
shutdown ±ÇÇÑÀÌ ÀÖ¾î¾ß ÇÑ´Ù.
23) MYSQL_RES* mysql_store_result(MYSQL*
mysql) queryÀÇ ¼öÇà°á°ú¸¦ ¼¹ö·Î
ºÎÅÍ ÇÑ ¹ø¿¡ ¸ðµÎ ¹Þ¾Æ ¿Â´Ù.
24) MYSQL_RES* mysql_use_result(MYSQL*
mysql) queryÀÇ ¼öÇà°á°ú¸¦ ¼¹ö·ÎºÎÅÍ ÇÑ
°³ÀÇ ROW ¾¿ ¹Þ¾Æ ¿Â´Ù.
¡ã top
|