#include #include "mysql.h" #define SELECT1 "select now() as f1, ? as f2, aes_encrypt('abc','x') as f3" int main() { MYSQL *conn; MYSQL_STMT *stmt; MYSQL_RES *meta; MYSQL_FIELD *field; MYSQL_BIND bind; int res; unsigned long len; char buf[21] = {0}; double d=-1.0; conn= mysql_init(NULL); conn= mysql_real_connect(conn, "127.0.0.1", "root", "", "test", 3306, 0, 0); if (!conn) { fprintf(stderr, "Cannot connect\n"); exit(1); } printf("Client info: %s\n", mysql_get_client_info()); printf("Server info: %s\n", mysql_get_server_info(conn)); stmt= mysql_stmt_init(conn); res= mysql_stmt_prepare(stmt, SELECT1, strlen(SELECT1)); meta= mysql_stmt_result_metadata(stmt); field= mysql_fetch_field_direct(meta, 0); printf("type=%d\n", field->type); printf("length=%ld\n", field->length); printf("decimals=%d\n", field->decimals); printf("flags=%d\n", field->flags); field= mysql_fetch_field_direct(meta, 1); printf("type=%d\n", field->type); printf("length=%ld\n", field->length); printf("decimals=%d\n", field->decimals); printf("flags=%d\n", field->flags); field= mysql_fetch_field_direct(meta, 2); printf("type=%d\n", field->type); printf("length=%ld\n", field->length); printf("decimals=%d\n", field->decimals); printf("flags=%d\n", field->flags); memset(&bind, 0, sizeof(bind)); mysql_stmt_bind_param(stmt, &bind); mysql_stmt_execute(stmt); mysql_free_result(meta); mysql_close(conn); return 0; }