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.
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> int 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)); return(0); } /* send SQL query */ if (mysql_query(conn, "SELECT * FROM people WHERE age > 30")) { fprintf(stderr, "%s\n", mysql_error(conn)); return(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); }