Name

mysql_query( )

Synopsis

int mysql_query(MYSQL *mysql, const char *query)

Use this to execute the SQL query given as the second argument of the function. Only one SQL statement may be given. For queries containing binary data, use the mysql_real_query( ) function instead. If successful, this function will return 0; otherwise, nonzero.

...
MYSQL *mysql;
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL_FIELD *field;
int i, num_fields;
...
mysql = mysql_init(NULL);
mysql_real_connect(mysql,host,user,password,database,0,NULL,0);
const char *sql_stmnt = "SELECT * FROM workreq";
mysql_query(mysql, sql_stmnt, bytes);
result = mysql_store_result(mysql);
num_fields = mysql_field_count(mysql);
while((row = mysql_fetch_row(result)) != NULL)
  {
   for(i = 0; i < num_fields; i++)
     { printf("%s, ", row[i]); }
   printf("\n");
  }
mysql_free_result(result);
mysql_close(mysql);
...

Although this example is fairly complete, the lines declaring the variables containing the connection information are not shown. See the example for the msyql_real_connect( ) function for those details. The SQL statement in the previous example is given through a variable, but could be given within the function if enclosed within double quotes. The results of the query are stored in the result variable by way of the mysql_store_result( ) function. Incidentally, it’s important to free the memory allocated for the results with the mysql_free_result( ) function when finished.

Get MySQL in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.