#ifndef COMMON_DATABASE_H_ #define COMMON_DATABASE_H_ #include #include "DatabaseResult.h" using namespace std; class DatabaseNew { public: DatabaseNew(); virtual ~DatabaseNew(); unsigned int GetError() {return mysql_errno(&mysql);} const char * GetErrorMsg() {return mysql_error(&mysql);} bool Connect(); bool Connect(const char *host, const char *user, const char *password, const char *database); bool Connect(const char *host, const char *user, const char *password, const char *database, unsigned int port); bool Query(const char *query, ...); bool Select(DatabaseResult *result, const char *query, ...); int32 LastInsertID(); long AffectedRows(); //these two must free() the return char* after it's used in a query char * Escape(const char *str, size_t len); char * Escape(const char *str); //does not need free() string EscapeStr(const char *str, size_t len); string EscapeStr(const char *str); string EscapeStr(string str); bool QueriesFromFile(const char *file); void SetIgnoredErrno(unsigned int db_errno); void RemoveIgnoredErrno(unsigned int db_errno); bool IsIgnoredErrno(unsigned int db_errno); void PingNewDB(); private: MYSQL mysql; Mutex MMysql; vector ignored_errnos; }; #endif