用C语言测试Multiple-Query

来源:互联网 发布:知否的人物关系图 编辑:程序博客网 时间:2024/04/30 08:18
raywill:~ raywill$ cat test.c#include <stdio.h>#include <mysql.h>#include <unistd.h>#include <stdlib.h>#include <string.h>int main(int argc, char* argv[]){  MYSQL *mysql,*sock;  MYSQL_ROW row;  MYSQL_RES *result;  mysql = mysql_init(NULL);  int port = 9519;  char *host = "1.1.44.44";  char *user = "root";  char *pass = "";  char *db = "dbme";  if (!(sock = mysql_real_connect(mysql, host, user, pass, db, port, NULL, CLIENT_MULTI_STATEMENTS))) {    //if (!(sock = mysql_real_connect(mysql, host, user, pass, db, port, NULL, 0))) {    fprintf(stderr, "Couldn't connect to engine!\n%s\n\n", mysql_error(mysql));    perror("");    exit(1);  }  int i = 0;  char *sql[3] = {    "delete from t; insert into t values (1); select * from t; select * from t; select * from t;",    "select 1;select from sdfsdf ;select 3, '^^^^^^^^^^^^^';",    "create table if not exists t(i int primary key comment 'xiaochuxxx'); delete from t where i > 0; insert into t values(3); insert into t values (2);"  };  for (i = 0; i < 3; ++i) {    mysql_query(sock, sql[i]);    do    {      printf("sql: %s\n", sql[i]);      printf("total affected rows: %lld\n", mysql_affected_rows(sock));      result= mysql_store_result(sock);      if (!result)      {        if(mysql_field_count(sock) == 0) {          // query does not return data          // (it was not a SELECT)          int num_rows = mysql_affected_rows(sock);          printf("Affected row %d\n", num_rows);        } else {          printf("Got fatal error processing query. %s\n", mysql_error(sock));          exit(1);        }      } else {        row = mysql_fetch_row(result);        printf("row value: %s\n", row[0]);        mysql_free_result(result);      }    } while (!mysql_next_result(sock));    printf("no more result\n\n");  }  return 0;}

编译方法:

raywill:~ raywill$ mysql_config --cflags --libs-I/usr/local/include-L/usr/local/lib  -lmysqlclient
raywill:~ raywill$ gcc test.c  -o testbin `mysql_config --cflags --libs`raywill:~ raywill$ ./testbin
0 0
原创粉丝点击