http://dev.mysql.com/doc/refman/4.1/ja/c.html
MySQL/Rubyのバグ?を追うために少し調査。
#include <windows.h> #include <stdio.h> #include <stdlib.h> #include <mysql.h> #define MY_HOST "127.0.0.1" #define MY_USER "root" #define MY_PASSWD NULL #define MY_DB "foo" int main() { MYSQL *my; MYSQL_RES *res; char *errmsg = NULL; if ((my = mysql_init((MYSQL *) NULL)) == NULL) { errmsg = "mysql_init()"; goto end; } if (mysql_real_connect(my, MY_HOST, MY_USER, MY_PASSWD, NULL, MYSQL_PORT, NULL, 0) == NULL) { errmsg = "mysql_real_connect()"; goto end; } if (mysql_select_db(my, MY_DB) != 0) { errmsg = "mysql_select_db()"; goto end; } if (mysql_query(my, "select * from bar") != 0) { errmsg = "mysql_query()"; goto end; } if (res = mysql_store_result(my)) { MYSQL_FIELD *fd; MYSQL_ROW row; int i; printf("rows=%d\n", mysql_num_rows(res)); for (i = 0 ; fd = mysql_fetch_field(res); i++) { printf("%d:%s, ", i, fd->name); } puts("\n----"); while (row = mysql_fetch_row(res)) { int num_fields = mysql_num_fields(res); for (i = 0; i < num_fields ; i++) { printf("%s, ", row[i] ? row[i] : "NULL"); } puts(""); } mysql_free_result(res) ; } end: if (my) { mysql_close(my); } if (errmsg) { fprintf(stderr, errmsg); exit(1); } return 0; }
rows=3
0:id, 1:val, 2:num,
-
-
- -
-
1, AAA, 111,
2, BBB, 222,
3, CCC, 333,
続行するには何かキーを押してください . . .
windows.hは必須かぁ。
型って自前で変換なのかな?