Õ¬ÄÐÊÓƵ

XClose

Information Services Division

Home
Menu

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.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);
}