#include "stdafx.h" #include #include #include int main(int argc, char* argv[]) { MYSQL handle; mysql_init(&handle); if(&handle == NULL) return -1; if(!mysql_real_connect(&handle, "127.0.0.1", "root", argv[1], "mysql", 0, NULL, CLIENT_MULTI_STATEMENTS | CLIENT_MULTI_RESULTS)) { mysql_close(&handle); return -1; } const char* multiSQL = "DROP TABLE IF EXISTS test_table;" "CREATE TABLE test_table(id INT);" "INSERT INTO test_table VALUES(10);" "UPDATE test_table SET id=20 WHERE id=10;" "SELECT * FROM test_table;" "INSER INTO non_existent_table VALUES(11);"; if(mysql_real_query(&handle, multiSQL, (unsigned long) strlen(multiSQL))) { mysql_close(&handle); return -1; } MYSQL_RES* result = NULL; result=mysql_use_result(&handle); //Doesn't work... says only 1 statement was executed. //result = mysql_store_result(&handle); //Works... says three statements were executed. if(mysql_field_count(&handle) > 0) printf("OK\n"); if(result != NULL) mysql_free_result(result); while(true) { int res = mysql_next_result(&handle); if(res != 0) { mysql_free_result(result); mysql_close(&handle); return 0; } if(mysql_field_count(&handle) > 0) printf("OK\n"); result = mysql_use_result(&handle); //Doesn't work... says only 1 statement was executed. //result = mysql_store_result(&handle); //Works... says three statements were executed. if(result != NULL) mysql_free_result(result); } mysql_close(&handle); return 0; }