#include #include #include #include int main(int argc, char *argv) { MYSQL *ma; MYSQL_STMT *stmt; MYSQL_BIND bind[25]; unsigned int i, paramCount= 9; const char charvalue[] = "012345678901234567890123456789012345"; ma = mysql_init(NULL); if (!mysql_real_connect(ma, "localhost", "root", "root", "test", 3306, NULL, CLIENT_MULTI_STATEMENTS)) { printf("Could not connect: %s\n", mysql_error(ma)); exit(1); } else { printf("Server info %s\nClient info: %s\n", mysql_get_server_info(ma), mysql_get_client_info()); } mysql_query(ma, "DROP TABLE IF EXISTS mdev19838"); mysql_query(ma, "CREATE TABLE mdev19838(" "f1 char(10)," "f2 char(10)," "f3 char(10)," "f4 char(10)," "f5 char(10)," "f6 char(10)," "f7 char(10)," "f8 char(10)," "f9 char(10)," "f10 char(10)," "f11 char(10)," "f12 char(10)," "f13 char(10)," "f14 char(10)," "f15 char(10)," "f16 char(10)," "f17 char(10)," "f18 char(10)," "f19 char(10)," "f20 char(10)," "f21 char(10)," "f22 char(10)," "f23 char(10)," "m1 text," "m2 text)"); stmt= mysql_stmt_init(ma); if (!stmt) { printf("Could not init stmt handler(s)"); return 1; } memset(bind, 0, sizeof(bind)); for (i=0; i < paramCount; ++i) { bind[i].buffer= charvalue; bind[i].buffer_type= MYSQL_TYPE_STRING; bind[i].buffer_length= strlen(charvalue) + 1; bind[i].length= &bind[i].length_value; } /*mysql_stmt_prepare(stmt, "INSERT INTO mdev19838" "(f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, m1, m2)" " VALUES " "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", -1);*/ mysql_stmt_attr_set(stmt, STMT_ATTR_PREBIND_PARAMS, ¶mCount); mysql_stmt_bind_param(stmt, bind); mariadb_stmt_execute_direct(stmt, "INSERT INTO mdev19838" "(f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, m1, m2)" " VALUES " "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", -1); mysql_stmt_close(stmt); mysql_close(ma); exit(0); }