|
Written by Hemanshu Patel
|
|
Tuesday, 18 December 2007 |
Calling MySQL from C MySQL databases may be used by programs written in the C programming language on Socrates and Plato and on the IS Solaris workstations. Full details of the C API (Application Program Interface) are given in the MySQL manual at http://www.mysql.com/doc/en/C.html.
The following example program (in file prog.c) should be compiled with this Unix command: cc -I/usr/local/include/mysql prog.c -lmysqlclient -lsocket -lnsl -lm -lz This program displays the second and third fields (numbered 1 and 2) of each row of table people in database ucabwww where field age is greater than 30: #include <mysql.h> #include <stdio.h>
main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row;
char *server = "mysql-server.ucl.ac.uk"; char *user = "ucabwww"; char *password = "secret"; char *database = "ucabwww"; conn = mysql_init(NULL); /* Connect to database */ if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(0); }
/* send SQL query */ if (mysql_query(conn, "SELECT * FROM people WHERE age > 30")) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(0); }
res = mysql_use_result(conn); /* output fields 1 and 2 of each row */ while ((row = mysql_fetch_row(res)) != NULL) printf("%s %s\n", row[1], row[2]);
/* Release memory used to store results and close connection */ mysql_free_result(res); mysql_close(conn); }
|