#include #include "mysql.h" #define SELECT123 "SELECT DATE('0000-00-00') * 1, 0.00 * 1, CAST(DATE('0000-00-00') * 1 as binary)" int main() { MYSQL *conn; MYSQL_STMT *stmt; MYSQL_RES *meta; MYSQL_FIELD *field; MYSQL_BIND bind = {0}; 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); } stmt= mysql_stmt_init(conn); res= mysql_stmt_prepare(stmt, SELECT123, strlen(SELECT123)); meta= mysql_stmt_result_metadata(stmt); field= mysql_fetch_field_direct(meta, 0); printf("type=%d\n", field->type); printf("length=%d\n", field->length); printf("decimals=%d\n", field->decimals); field= mysql_fetch_field_direct(meta, 1); printf("type=%d\n", field->type); printf("length=%d\n", field->length); printf("decimals=%d\n", field->decimals); field= mysql_fetch_field_direct(meta, 2); printf("type=%d\n", field->type); printf("length=%d\n", field->length); printf("decimals=%d\n", field->decimals); mysql_free_result(meta); mysql_close(conn); return 0; }