Howto: Connect MySQL server using C program API under Linux or UNIX

by on May 31, 2007 · 86 comments· LAST UPDATED October 8, 2007

in , ,

From my mailbag:

How do I write a C program to connect MySQL database server?

MySQL database does support C program API just like PHP or perl.

The C API code is distributed with MySQL. It is included in the mysqlclient library and allows C programs to access a database.

Many of the clients in the MySQL source distribution are written in C. If you are looking for examples that demonstrate how to use the C API, take a look at these clients. You can find these in the clients directory in the MySQL source distribution.

Requirements

Make sure you have development environment installed such as gcc, mysql development package etc. Following is the list summarize the list of packages to compile program:

  • mysql: MySQL client programs and shared library
  • mysqlclient: Backlevel MySQL shared libraries (old libs)
  • mysql-devel: Files for development of MySQL applications (a must have)
  • mysql-server: Mysql server itself
  • gcc, make and other development libs: GNU C compiler

Sample C Program

Following instructions should work on any Linux distro or UNIX computer. Here is the small program that connects to mysql server and list tables from mysql database.(download link):

/* Simple C program that connects to MySQL Database server*/
#include <mysql.h>
#include <stdio.h>
main() {
   MYSQL *conn;
   MYSQL_RES *res;
   MYSQL_ROW row;
   char *server = "localhost";
   char *user = "root";
   char *password = "PASSWORD"; /* set me first */
   char *database = "mysql";
   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(1);
   }
   /* send SQL query */
   if (mysql_query(conn, "show tables")) {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(1);
   }
   res = mysql_use_result(conn);
   /* output table name */
   printf("MySQL Tables in mysql database:\n");
   while ((row = mysql_fetch_row(res)) != NULL)
      printf("%s \n", row[0]);
   /* close connection */
   mysql_free_result(res);
   mysql_close(conn);
}

How do I compile and link program against MySQL libs?

MySQL comes with a special script called mysql_config. It provides you with useful information for compiling your MySQL client and connecting it to MySQL database server. You need to use following two options.
Pass --libs option - Libraries and options required to link with the MySQL client library.

$ mysql_config --libs
Output:

-L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto

Pass --cflags option - Compiler flags to find include files and critical compiler flags and defines used when compiling the libmysqlclient library.
$ mysql_config --cflags
Output:

-I/usr/include/mysql -g -pipe -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing

You need to pass above option to GNU C compiler i.e. gcc. So to compile above program, enter:
$ gcc -o output-file $(mysql_config --cflags) mysql-c-api.c $(mysql_config --libs)
Now execute program:
$ ./output-file
Output:

MySQL Tables in mysql database:
columns_priv
db
func
help_category
help_keyword
help_relation
help_topic
host
tables_priv
time_zone
time_zone_leap_second
time_zone_name
time_zone_transition
time_zone_transition_type
user 

References:

  • MySQL C API - A must read - official MySQL C API documentation
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 86 comments… read them below or add one }

1 Jonathan Arnold June 1, 2007 at 3:08 pm

One thing to be aware of though with the mysql library – there is licensing involved. It was complicated enough that our company backed off from MySQL and went with SQLite.

Reply

2 secret March 27, 2011 at 9:19 pm

Thank you for the code, but I have a question
I have used this code and copy it to the PCW program to connect to mysql but it gives me this error.. a #Device required before this line….it is in string.h
Please anyone can help me
Thank you ^.^

Reply

3 nixCraft June 1, 2007 at 9:09 pm

Jonathan,

You have raised an excellent point.

MySQL dual Licensing policy is bit dangerous; if you are giving out GPL code it can be done with GPL; otherwise it force commercial vendor under its own terms and condition.

PGSQL or SQLite seems to good alternative.

Appreciate your post!

Reply

4 dinesh June 23, 2010 at 6:40 am

i am not being able to install Microsoft SQL Server JDBC Driver 2.0 in my laptop..can u give my some tips for that???

Reply

5 david June 4, 2007 at 2:11 pm

I’m no C guru, but I think there’s a typo. shouldn’t you run:

./output-file

or compile with:

-o output.file

Or, am I missing something?

Reply

6 nixCraft June 4, 2007 at 2:55 pm

David,

Thanks for the heads up!

Reply

7 debakanta sandha July 12, 2007 at 1:19 pm

i want to connect mysql from c program in linux mandriva 2007.i am not being able to do it as mysql.h is not there in mandriva 2007

Reply

8 nixCraft July 12, 2007 at 2:25 pm

Just install mysql-devel package

Reply

9 John Matthews August 6, 2007 at 1:34 pm

How do you specify the socket file?

Reply

10 nixCraft August 6, 2007 at 3:04 pm

Use mysql_real_connect() and set host to NULL socket to NULL or 0

mysql_real_connect(&mysql, 0, username, password, dbname, 0, 0, 0 ); 

See API doc for more help!

Reply

11 Edwind October 19, 2007 at 12:38 am

how i do a makefile that compile me the .c?

it has to find the result of mysql_config –libs and –cflags and put it in the gcc -o line

thx in advance

Reply

12 Walther November 12, 2007 at 4:17 pm

Hi Edwind,

I’m not big on c-fu, but you should “vi Makefile” in the directory where you have your .c program and in the Makefile, you should type something along the lines of:

MYSQLCFLAGS=`mysql_config –cflags`
MYSQLLIBS=`mysql_config –libs`
datafoxclient:
$(CC) -I/usr/include/mysql -o datafoxclient $(MYSQLCFLAGS) datafoxclient.c $(MYSQLLIBS)
clean:
rm -f datafoxclient

some of the c-fu gurus would probably tell you that my Makefile is broken and not that good! But, hey, it works for me :)

hope that helps :)

Reply

13 anil November 30, 2007 at 4:40 am

i want c code for FTP server and client.

Reply

14 bedjo December 6, 2007 at 5:42 pm

any scaffolding for C available ? so i don’t have to
code add/edit/delete bla bla bla etc ?

thx

Reply

15 siva February 8, 2008 at 6:23 pm

./output-file output not created while compile mysql-c-api.c in gcc as specified in procedure
plz anyone help me

Reply

16 semarsuper February 23, 2008 at 1:52 pm

Combining your script there with memcached C API (http://danga.com/memcached/apis.bml) will also boost the performance, instead of directly querying to mysqld.

Rgds,

semarsuper

Reply

17 Saiful Islam March 28, 2008 at 5:54 am

i m facing a error message when wanna run output file-
“error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory”

would anyone help me to over come this prob.

thanks
Saiful

Reply

18 Skatox April 6, 2008 at 7:56 pm

Excelent Bro! thanks for the info. It helped me a lot.

Reply

19 shiva April 11, 2008 at 10:40 am

i hav followed same procedure which is given above for executing n i m getting an error message when wanna run output file-
“Access denied for user ‘root’@'localhost’ (using password: YES)” Can anyone tell me how to fix this prob. Pleeeeeeeeeeeeease

Reply

20 tomato April 13, 2008 at 4:03 pm

shiva, if you have problems of this level, you shouldn’t be programming.

Reply

21 champ May 4, 2008 at 1:11 pm

I encountered with problems about it, but when I see your site and apply what you said, I could finally succeed it.

Thanks a lot..

Reply

22 zackaria September 5, 2008 at 7:59 am

a have 2 table or more, how to make connect n operation in c.

Reply

23 kishore October 15, 2008 at 5:19 am

hi,thanks for the code which you gave but i am getting some errors.i tried running the code on ubuntu8.04,when i execute the 1st statement –\”$ mysql_config –libs\” i get the output as -Wl,-Bsymbolic-functions -L/usr/lib/mysql -lmysqlclient
and when i execut the 2nd statement i get the output as -I/usr/include/mysql -DBIG_JOINS=1 -fPIC

i am not able to get the output as mentioned in the post.Can anyone please help me??
Also can anyone tell me what is the output file in the 3rd statement.

thankyou :)

Reply

24 sher December 14, 2008 at 3:15 am

“Access denied for user ‘root’@’localhost’ (using password: YES)”
and when i change the password to NULL i get this
“Access denied for user ‘root’@’localhost’ (using password: NO)”
not able to find out what is the real problem
i also tried using “sudo ./output-file” but it did not work

Reply

25 Johan Hedberg January 19, 2009 at 7:51 am

shiva/sher:
Those errors are because you haven’t specified the correct password for the mysql server. If you don’t remember the password go here:
http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

Reply

26 Edg March 3, 2009 at 3:18 am

Thank you for a great tutorial, I did it with the server of my website, but I had to give permission to my IP to access the server.

Reply

27 Vineesh poduval May 1, 2009 at 4:28 am

i am using TC …from where i will get the the mysql.h file for turbo c(windows)

Reply

28 nixCraft May 1, 2009 at 4:53 am

I don’t think so TC supports mysql API. Get better compiler set or move to GNU/Linux.

Reply

29 John_L May 8, 2009 at 7:40 am

Hey great tutorial, but I’m having problems inserting double values & when I try to retrieve the values using the C application, all I see is the primary key column. Here is my insert code:
if (mysql_query(conn, “INSERT INTO Meta_Data (alpha, beta, delta, gamma) VALUES (1.01, 2.34, 3.9, 4.3)”)) {
This will put the values into DB OK, but if I try to insert variables, all that gets inserted is 0, for example
if (mysql_query(conn, “INSERT INTO Meta_Data (alpha, beta, delta, gamma) VALUES (alpha, beta, delta, gamma)”)) {
alpha, beta, delta, gamma are declared as doubles & I’ve also tried making them constants but same results. I’m not very strong with C so any advice would be great.

Would anyone have any advice to get around this?
Thanks
John

Reply

30 cca May 15, 2009 at 2:48 am

john_l the c compiler will see your variables as strings, not as variables.
have a look at the sprintf function to append variables to strings.

man sprintf

Reply

31 John Brock May 19, 2009 at 7:42 pm

If you see an error regarding ‘exit’ implicit function, remember to add an include of stdlib.h or process.h. Otherwise, good starting program for MySQL programming.

Reply

32 Bhanu June 11, 2009 at 5:13 am

Hi walter ,

I Wrote makefile as u suggested for one of the member ,i have problem while doing make,it cannot find

gcc: mysql_config -cflags: No such file or directory
gcc: mysql_config -libs: No such file or directory

where i should find it ,

PLZ help me out
Thank u
Bhanu

Reply

33 raja February 21, 2012 at 4:23 am

hiiiiiiiii
could you able to provide the source code for the drug prescription machine
plz its very imp 2 me for my project
plz help mee
its very urgent

Reply

34 Henrique Leitão June 30, 2009 at 7:59 pm

Hi, I have mysql4 and mysql5 running in my linux. I set the path lib and the path include in compilation to paths mysql5. The program compile, but occurs a erro when program is execute.
(dlopen(): /usr/lib/imspector/mysqlloggingplugin.so: undefined symbol: compress). Please help me
Below, is the line compilation to program.
g++ mysqlloggingplugin.o libimspector.so -ldl -fPIC -shared -Wl,-soname,mysqlloggingplugin.so -o mysqlloggingplugin.so -L/opt/ef/mysql5/lib/mysql -I/opt/ef/mysql5/include -lmysqlclient -lm -lnsl

Reply

35 grufo August 4, 2009 at 1:44 pm

to compile the litte script with gcc = 4.3 i had to inlcude “#include ” and had to change those four lines from:

char *server = “localhost”;
char *user = “root”;
char *password = “password”; /* set me first */
char *database = “mysql”;

to:

const char *server = “localhost”;
const char *user = “root”;
const char *password = “password”; /* set me first */
const char *database = “mysql”;

and the compile command needed this additional flag: “-lstdc++”

gcc -lstdc++ -o mysql_test $(mysql_config –cflags) mysql_test.cpp $(mysql_config –libs)

otherwise i got the following errors:
mysql_test.cpp: In function ‘int main()’:
mysql_test.cpp:10: warning: deprecated conversion from string constant to ‘char*’
mysql_test.cpp:11: warning: deprecated conversion from string constant to ‘char*’
mysql_test.cpp:12: warning: deprecated conversion from string constant to ‘char*’
mysql_test.cpp:13: warning: deprecated conversion from string constant to ‘char*’
mysql_test.cpp:21: error: ‘exit’ was not declared in this scope
mysql_test.cpp:27: error: ‘exit’ was not declared in this scope
/tmp/ccwZLvOo.o:(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0×0): undefined reference to `__gxx_personality_v0′

Reply

36 Hemant September 22, 2009 at 8:03 am

Hello,
I have tried the above c code.
But while compiling i get an error message saying:

mysql_c.c:1:19: error: mysql.h: No such file or directory
mysql_c.c: In function ‘main’:
mysql_c.c:5: error: ‘MYSQL’ undeclared (first use in this function)
mysql_c.c:5: error: (Each undeclared identifier is reported only once
mysql_c.c:5: error: for each function it appears in.)
mysql_c.c:5: error: ‘conn’ undeclared (first use in this function)
mysql_c.c:6: error: ‘MYSQL_RES’ undeclared (first use in this function)
mysql_c.c:6: error: ‘res’ undeclared (first use in this function)
mysql_c.c:7: error: ‘MYSQL_ROW’ undeclared (first use in this function)
mysql_c.c:7: error: expected ‘;’ before ‘row’
mysql_c.c:20: warning: incompatible implicit declaration of built-in function ‘exit’
mysql_c.c:26: warning: incompatible implicit declaration of built-in function ‘exit’
mysql_c.c:33: error: ‘row’ undeclared (first use in this function)

Which certainly means that i dont have mysql.h file.
I am using Fedora 11.

Can anyone solve this problem for me. Please.

Thanks in Advance.
-Hemant

Reply

37 aardvark October 11, 2009 at 12:15 pm

This works in ubuntu 9.04


sudo apt-get install mysql-server mysql-client
mysql -uroot -p
sudo apt-get install libmysqlclient16-dev
gcc -o mysql-c-api-test `mysql_config --cflags` mysql-c-api-test.c `mysql_config --libs`
./mysql-c-api-test

Reply

38 SK October 18, 2009 at 9:34 am

Hey I have problem similar to John_L. I want to push variable declared in C into the database.
CODE EXPLANATION:
I have declared some variables
//declared variables
unsigned char a,b,c,d;

and want to push these variables in MYSQL database using MYSQL C API. I used sprintf and pushed all variables in a string variable.

//declared the string.
char buffer[50];

//used sprintf function to format variables into string.
sprintf(buffer,”%02X:%02X:%02X:%02X”,a,b,c,d);

now pushed “buffer” into database using mysql c api

// Insert into MySQL
if (mysql_query(conn, “INSERT INTO events (srcAddress) VALUES (‘buffer’)”))
{
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}

But instead of writing values of the variable buffer, “buffer” is as it is getting written in the database.

Can anyone plz help me to get through this problem.

Reply

39 Korting October 19, 2009 at 12:37 pm

Thanks for the code and the updates here above :-)

Reply

40 sunny October 21, 2009 at 3:46 am

Please help me fix this problem. I try to run the above exmple but I get the error like this
./mysql-c-api-test
Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

Reply

41 Gandhi November 24, 2009 at 8:21 pm

I’m getting this.
/tmp/ccCldxTF.o: In function `main’:
mysql-c-api.c:(.text+0×31): undefined reference to `mysql_init’
mysql-c-api.c:(.text+0×79): undefined reference to `mysql_real_connect’
mysql-c-api.c:(.text+0×89): undefined reference to `mysql_error’
mysql-c-api.c:(.text+0xc4): undefined reference to `mysql_query’
mysql-c-api.c:(.text+0xd4): undefined reference to `mysql_error’
mysql-c-api.c:(.text+0×107): undefined reference to `mysql_use_result’
mysql-c-api.c:(.text+0×133): undefined reference to `mysql_fetch_row’
mysql-c-api.c:(.text+0x14a): undefined reference to `mysql_free_result’
mysql-c-api.c:(.text+0×156): undefined reference to `mysql_close’
collect2: ld returned 1 exit status
Please help me

Reply

42 Adrian September 2, 2010 at 4:23 pm

Hello Ghandi!

I have the same exact problem you wrote about. I am running Ubuntu 9.10 and Mysql 5.1.

Did you ever solve it? Regards,
Adrián

Reply

43 gandhi November 24, 2009 at 8:24 pm

My question is
“Create a C/C++ console application which connects to MySQL database and inserts a new column of type varchar into a given table. Application should ask the user for table and new column name.”
Please let me know what are the modifications/changes that I have to make for the code given here so that I the get desired result.

Reply

44 Alok January 5, 2010 at 7:25 pm

For Centos and other rpm based packages
mysql-devel packages is must
yum install mysql-devel

Reply

45 Garrett Griffin January 11, 2010 at 6:48 pm

Huge thanks for this. Exactly what I needed. Other than difficulty finding the MySQL-Devel package for SUSE 11, it was a breeze to get started with C and MySQL.

Reply

46 Jose Tapia February 26, 2010 at 5:34 am

Thanks a lot for the explanation, was very useful for my Asterisk programming test. Best regards

Reply

47 gaurav May 23, 2010 at 2:48 am

great i love this

Reply

48 randy melder May 24, 2010 at 5:24 pm

perfect tutorial. thanks a million!

Reply

49 ahkbar June 23, 2010 at 1:02 am

very usefull tuto, for f13 i can’t compile with #include , when i search in my system with command locate: “locate mysql.h” this show /usr/include/mysql/mysql.h
so mysql.h don’t is in include directory, is in mysql, so you need to add mysql directory in header file.

thanks this work.

Reply

50 maxi August 4, 2010 at 6:17 pm

I need the code for the following task any one can help me, I need a solution fast

Write a C/C++ console application that connects to a MySQL server (with InnoDB plugin enabled) and prints information about the last detected deadlock (if any) by the InnoDB Storage Engine.

Reply

51 deepak August 10, 2010 at 10:33 am

hi,
can u pls help me out to write a program in C++ to connect to MySQL server and also to display the number of hosts connected to it?

Reply

52 DILIP September 28, 2010 at 3:01 am

A C/C++ program that connects to a MySQL server and checks intrusion attempts every 5 minutes. If an intrusion attempt is detected beep the internal speaker to alert the administrator. A high number of aborted connects to MySQL at a point in time may be used as a basis of an intrusion.

Reply

53 dinesh kumar A.s November 12, 2010 at 5:37 pm

Write a C/C++ program that connects to a MySQL server and lists all hosts connected to it at that point in time.. can any one find solution coding for this program please.

Reply

54 Muksin December 13, 2010 at 1:54 am

when i compiling, i get this message
warning: incompatible implicit declaration of built-in function ‘exit’

after running
Segmentation fault

please help me.

Reply

55 Ahmad Hussain December 19, 2010 at 6:20 pm

Dear I am new in linux Mandriva , my main object is to covert my vb.net and Microsoft sql server base project to Linux plate form , I was battling to find out the clue to connect using c with Mysql and your code work for me lot to get clue. Thx lot you are star.
Rgds
Ahmad

Reply

56 supraja March 14, 2011 at 9:57 am

Thanks for ginving this code, it is working fine.

Reply

57 Karan March 28, 2011 at 11:15 am

Thanks, it indeed was of help.

Reply

58 Niroshan April 4, 2011 at 11:42 am

I have Lampp installed. When I run mysql_config –libs I was asked to install ‘libmysqlclient15-dev’. When I run mysql_config command with libs and cflags after installing libmysqlclient15-dev it didn’t give me the exact output as you have specified but -L/usr/lib/mysql -lmysqlclient and -I/usr/include/mysql was there respectively.
Program compilation was done successfully with few warnings but when I run it, gave me following error.
Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
what might be the problem?

Reply

59 Niroshan April 4, 2011 at 1:24 pm

ok creating a symlink to /opt/lampp/mysql/mysql.sock from /var/run/mysqld/mysqld.sock solved the problem.
Thank you for the article, it was really helpful.

Reply

60 prashanth August 29, 2012 at 6:38 pm

Hi,
I have done the below steps in Ubuntu and getting the sock error. can anyone please help me as soon as possible.

rashu@prashu-HP-Pavilion-dv4-Notebook-PC:~/myC/mySQL_prgms$ mysql_config --libs
The program 'mysql_config' is currently not installed.  You can install it by typing:
sudo apt-get install libmysqlclient-dev
prashu@prashu-HP-Pavilion-dv4-Notebook-PC:~/myC/mySQL_prgms$ sudo apt-get install libmysqlclient-dev
Reading package lists... Done
rashu@prashu-HP-Pavilion-dv4-Notebook-PC:~/myC/mySQL_prgms$ mysql_config --libs
-Wl,-Bsymbolic-functions -rdynamic -L/usr/lib/mysql -lmysqlclient
prashu@prashu-HP-Pavilion-dv4-Notebook-PC:~/myC/mySQL_prgms$ mysql_config --cflags
-I/usr/include/mysql  -DBIG_JOINS=1  -fno-strict-aliasing   -DUNIV_LINUX -DUNIV_LINUX
prashu@prashu-HP-Pavilion-dv4-Notebook-PC:~/myC/mySQL_prgms$ gcc -o mySQL_output $(mysql_config --cflags) ./mysql-c-api.c $(mysql_config --libs)
./mysql-c-api.c: In function ‘main’:
./mysql-c-api.c:17:7: warning: incompatible implicit declaration of built-in function ‘exit’
./mysql-c-api.c:22:7: warning: incompatible implicit declaration of built-in function ‘exit’
prashu@prashu-HP-Pavilion-dv4-Notebook-PC:~/myC/mySQL_prgms$
prashu@prashu-HP-Pavilion-dv4-Notebook-PC:~/myC/mySQL_prgms$ ./mySQL_output
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Thanks alot in advance !

Reply

61 vijaybhaskar April 23, 2011 at 1:00 pm

when i run above program in my test machine. i am getting below errors. Could you please tel me how to rectify this.
OS: Gnu/Linux
Version: 2.6.18-194.el5
64Bit.

Reply

62 vijaybhaskar April 23, 2011 at 1:03 pm

sorry i forgot to add error message:
gcc -o output-file $(mysql_config –cflags) test_mysql.c $(mysql_config –libs)
/usr/bin/ld: skipping incompatible /usr/lib/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status

Reply

63 Kevin May 30, 2011 at 7:30 am

Hi it works well for me.
But when i put it in my makefile.basic , it’s shows me undefined error to mysql.
here is mine, pls correct me. I has been on internet for a week but still can’t manage to solve it.

CC=/usr/bin/gcc
#CC=powerpc-linux-gcc
CP=/usr/bin/cp
CFLAGS=-g -Wall -L/usr/lib/mysql -lmysqlclient

www=/var/www
htdocs=/htdocs
cgi_bin=/cgi-bin
config=/etc/apache2/sites-available/default

INSTALL_DIR=$(pwd)/.install

Reply

64 Etay July 21, 2011 at 5:37 am

Might be good to add another include file #include to handle the exit(1) func properly without warnings from the compiler.

There is alway a security risk to hard code values from within your code. If you run from the shell $ strings output-file you would be able to see the user credentials along with other data. If you reverse engineer an executable, that would be pretty much step-1. A good exercise to modify the code to enter data from stdin. gets(something) or fgets(something sizeof(something), stdin)… string.h

Reply

65 Etay July 21, 2011 at 7:41 pm

From my previous post, the include file is stdlib.h…

Reply

66 Hrehan July 30, 2011 at 10:40 am

A C/C++ program that connects to a MySQL server and checks if the InnoDB plug-in is installed on it. If so, your program should print the total number of disk writes by MySQL.

Can anyone help me with this program,i have tried it but its showing lots of error msgs..

Reply

67 Anusha Rao July 31, 2011 at 3:19 pm

Hello frd plz give me this program code
” Write a C/C++ program that connects to a MySQL server and checks if the InnoDB plug-in is installed on it. If so, your program should print the total number of disk writes by MySQL.”

Reply

68 prathap August 1, 2011 at 4:12 pm

Write a C/C++ program that connects to a MySQL server and checks if the InnoDB plug-in is installed on it. If so, your program should print the total number of disk writes by MySQL. i need this question answer as soon as possible please any one tel me….

Reply

69 prathap August 2, 2011 at 9:19 am

Write a C/C++ program that connects to a MySQL server and checks if the InnoDB plug-in is installed on it. If so, your program should print the total number of disk writes by MySQL please answer this question please

Reply

70 sunkanna August 17, 2011 at 6:41 pm

i want source code for dis question
please send me

question is
Write a C/C++ program to add a user to MySQL. The user should be permitted to only “INSERT” into the given database..??

Reply

71 cripton August 19, 2011 at 7:24 am

#include in order to compile with newer compilers

Reply

72 cripton August 19, 2011 at 7:26 am

#include “stdlib.h”

Reply

73 cripton August 19, 2011 at 7:29 am

sorry for the spam.. I wanted to post:

#include “stdlib.h” in order to compile with newer compilers

Reply

74 Adolfo Hernandez October 16, 2011 at 10:50 pm

pleased

I’m compiling as follows:

gcc -o jesus $(/usr/local/src/inser_m_c/mysql/bin/mysql_config –cflags) jesus.c $(/usr/local/src/inser_m_c/mysql/bin/mysql_config –libs)

It has an error

jesus.c: In function âmainâ:
jesus.c:25: warning: passing argument 1 of âprintfâ from incompatible pointer type
jesus.c:31: warning: passing argument 1 of âprintfâ from incompatible pointer type
/usr/bin/ld: cannot find -lmysql
collect2: ld returned 1 exit status

Thanks for your help

Adolfo

Reply

75 Rick October 20, 2011 at 3:56 pm

I’ve compiled fine under QNX with

cc -o test $(mysql_config –cflags) test.c $(mysql_config –libs)

be sure your dev libraries are installed, Jesus your code shows some weird characters ->> âprintfâ

Best Regards

Reply

76 shalini November 3, 2011 at 4:52 am

which is the best development tools used to connect mysql server.

Reply

77 rehman November 13, 2011 at 10:08 am

please explain allthese code and mysqlmethods

Reply

78 sabari November 17, 2011 at 6:36 am

Write a C/C++ program that connects to a MySQL server and checks if the InnoDB plug-in is installed on it. If so, your program should print the total number of disk writes by MySQL please answer this question please…pls send the coding to my mail pls… sabarinathan67@gmail.com… its very urgent…

Reply

79 Ricky February 21, 2012 at 6:27 am

Thanks for your help

Reply

80 Freddy March 23, 2012 at 6:13 pm

Thank you for this!! This was a really great quick tutorial on contacting mysql through a c file. Great beginning to a start in writting c on the server.

Reply

81 Leandro August 21, 2012 at 1:11 am

This is very cool. Very similar to PHP. Thanks for sharing.
Another way to compile: gcc mysql-c-api.c -o output-file $(mysql_config –cflags –libs)

Reply

82 sanjog October 16, 2012 at 11:58 am

I get the following error when I run the above code!!!!

gcc Checkconn.cCheckconn.c: In function ‘main’:
Checkconn.c:16:7: warning: incompatible implicit declaration of built-in function ‘exit’ [enabled by default]
Checkconn.c:21:7: warning: incompatible implicit declaration of built-in function ‘exit’ [enabled by default]
/tmp/ccXSAFWL.o: In function `main’:
Checkconn.c:(.text+0×31): undefined reference to `mysql_init’
Checkconn.c:(.text+0×79): undefined reference to `mysql_real_connect’
Checkconn.c:(.text+0×89): undefined reference to `mysql_error’
Checkconn.c:(.text+0xc3): undefined reference to `mysql_query’
Checkconn.c:(.text+0xd3): undefined reference to `mysql_error’
Checkconn.c:(.text+0×105): undefined reference to `mysql_use_result’
Checkconn.c:(.text+0×139): undefined reference to `mysql_fetch_row’
Checkconn.c:(.text+0×150): undefined reference to `mysql_free_result’
Checkconn.c:(.text+0x15c): undefined reference to `mysql_close’
collect2: error: ld returned 1 exit status

Reply

83 nauman November 6, 2012 at 7:59 am

its says the following when i try to run it
root@ubuntu-VirtualBox:~/Desktop/workspace# ./mysql12
Access denied for user ‘root’@'localhost’ (using password: YES)
i am already logged into root???

Reply

84 varun November 14, 2012 at 2:46 am

first before compiling restart mysqld by using the following coomand:
/etc/bin/init.d/mysqld restart;

then set ur password by using:
mysqladmin -u root password newpasswd

then in the program in the mysql_connect section give the password section give new password . then compile using the following coomand:
gcc -o output-file $(mysql_config –cflags) mysql-c-api.c $(mysql_config –libs)

it will work….

Reply

85 Sudhakar January 2, 2013 at 3:00 pm

Anybody have a code simplecode user value to mysql using C-language please Submit on website

Reply

86 Ismael March 12, 2014 at 8:34 pm

Thank you, it worked at once.

Reply

Leave a Comment

Tagged as: , , , , , , , , ,

Previous post:

Next post: