diff options
Diffstat (limited to 'mg_database.c')
-rw-r--r-- | mg_database.c | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/mg_database.c b/mg_database.c index fa38e17..9dfa395 100644 --- a/mg_database.c +++ b/mg_database.c @@ -16,7 +16,7 @@ mgDB::mgDB() mgDB::mgDB(std::string host, std::string name, std::string user, std::string pass, - int port) + int port) { } @@ -41,3 +41,34 @@ std::string mgDB::escape_string( MYSQL *db, std::string s ) return r; } + +MYSQL_RES* mgDB::read_query( const char *fmt, ...) +{ + va_list ap; + va_start( ap, fmt ); + vsnprintf( querybuf, MAX_QUERY_BUFLEN-1, fmt, ap ); + + if( mysql_query( &m_dbase, querybuf) ) + { + mgError( "SQL error in MUGGLE:\n%s\n", querybuf ); + } + + MYSQL_RES *result = mysql_store_result( &m_dbase ); + + va_end(ap); + return result; +} + +void mgDB::write_query( const char *fmt, ... ) +{ + va_list ap; + va_start( ap, fmt ); + vsnprintf( querybuf, MAX_QUERY_BUFLEN-1, fmt, ap ); + + if( mysql_query( &m_dbase, querybuf ) ) + { + mgError( "SQL error in MUGGLE:\n%s\n", querybuf ); + } + + va_end(ap); +} |