- 论坛徽章:
- 0
|
c语言连接Mysql的代码
#include <stdio.h>
#include <stdlib.h>
#include "mysql/mysql.h"
/*
* compile with this command on 64bite Linux:
* gcc -g conn.mysql.c -lmysqlclient -L /usr/lib64/mysql/
*/
int main(void){
MYSQL *my_connection;
MYSQL *conn_ptr;
MYSQL_RES *results;
MYSQL_ROW sqlrow;
int i;
char sql[1024];
sprintf(sql,"select * from tablename");
const char *host = "localhost";
const char *user = "your username";
const char *passwd = "your password";
const char *dbname = "your database";
unsigned int port_no = 0;
const char *socket_name = NULL;
unsigned int flags = 0;
my_connection = mysql_init(NULL); //initialized connection handle
if(my_connection)
{
printf("Initializing connection to database...n");
conn_ptr = mysql_real_connect(my_connection,host,user,passwd,dbname,port_no,socket_name,flags); //making a connection
if(conn_ptr)
{
printf("Connection succeed!n");
//making a query
int query = mysql_query(my_connection,sql);//0 is returned if succeed.
if(query)
fprintf(stderr,"Query failed %d: %sn",mysql_errno(my_connection), mysql_error(my_connection));
else
{
printf("Query succeed...n");
results = mysql_store_result(my_connection);//mysql_use/store_result()
if(results)
{
printf("Retrieved %lu rowsn", mysql_num_rows(results));
while(sqlrow = mysql_fetch_row(results))
{
for(i=0;i<mysql_num_fields(results);i++)
printf("%dt",atoi(sqlrow[i]));
printf("n");
}
if(mysql_errno(my_connection))
fprintf(stderr,"Retrive error: %sn",mysql_error(my_connection));
}
mysql_free_result(results);
}
}
else
fprintf(stderr,"Connecting failed %d: %sn",mysql_errno(my_connection),mysql_error(my_connection));
}
else
{
fprintf(stderr, "Initializing Mysql failed!n");
return EXIT_FAILURE;
}
//close connection
mysql_close(my_connection);
return EXIT_SUCCESS;
}
|
[ 本帖最后由 飞行员舒克 于 2009-11-20 22:55 编辑 ] |
|