public OnQueryError(errorid, error[], resultid, extraid, callback[], query[], connectionHandle) { new File:file = fopen("mysql_error_log.txt", io_append); if (file) { new string[512], day, month, year, hour, minute, second; gettime(hour, minute, second); getdate(year, month, day); format(string, sizeof(string), "[%02d/%02d/%02d %02d:%02d:%02d] Query error (errorid: %d, error: %s, callback: %s, connectionHandle: %d)\r\n", day, month, year, hour, minute, second, errorid, error, callback, connectionHandle); fwrite(file, string); fclose(file); } return 1; } stock MySQL_NameExists(const account[]) { new szQuery[128], iRows = 0; format(szQuery, sizeof(szQuery), "SELECT `Username` FROM `accounts` WHERE `Username` = '%s'", account); mysql_query(szQuery); mysql_store_result(); if (mysql_num_rows()) { iRows = 1; } else iRows = 0; mysql_free_result(); return iRows; } stock MySQL_UpdateFieldInt(const account[], const fieldname[], iValue) { new query[512]; format(query, sizeof(query), "UPDATE `accounts` SET `%s` = '%d' WHERE `Username` = '%s'", fieldname, iValue, account); mysql_query(query); return 1; } stock MySQL_UpdateFieldFloat(const account[], const fieldname[], Float:iValue) { new query[512]; format(query, sizeof(query), "UPDATE `accounts` SET `%s` = '%f' WHERE `Username` = '%s'", fieldname, iValue, account); mysql_query(query); return 1; } stock MySQL_UpdateFieldString(const account[], const fieldname[], szValue[]) { new query[512]; format(query, sizeof(query), "UPDATE `accounts` SET `%s` = '%s' WHERE `Username` = '%s'", fieldname, szValue, account); mysql_query(query); return 1; } stock MySQL_GetAccountField(const account[], const fieldname[], destination[]) { new query[128]; format(query, sizeof(query), "SELECT `%s` FROM `accounts` WHERE `Username` = '%s'", fieldname, account); mysql_query(query); mysql_store_result(); mysql_retrieve_row(); mysql_fetch_field_row(destination, fieldname); mysql_free_result(); return 1; } stock MySQL_GetAccountInt(const account[], const fieldname[]) { new destination[128]; MySQL_GetAccountField(account, fieldname, destination); return strval(destination); } stock Float:MySQL_GetAccountFloat(const account[], const fieldname[]) { new destination[128]; MySQL_GetAccountField(account, fieldname, destination); return floatstr(destination); }
In MySQL_NameExists() try to get everything (*) and then check for rows.
|
format(szQuery, sizeof(szQuery), "SELECT * FROM `accounts` WHERE `Username` = '%s'", account);
error 025: function heading differs from prototype |
public OnQueryError(errorid, error[], resultid, extraid, callback[], query[], connectionHandle) { new File:file = fopen("mysql_error_log.txt", io_append); if (file) { new string[512], day, month, year, hour, minute, second; gettime(hour, minute, second); getdate(year, month, day); format(string, sizeof(string), "[%02d/%02d/%02d %02d:%02d:%02d] Query error (errorid: %d, error: %s, callback: %s, connectionHandle: %d)\r\n", day, month, year, hour, minute, second, errorid, error, callback, connectionHandle); fwrite(file, string); fclose(file); } return 1; } stock MySQL_NameExists(const account[]) { new szQuery[128], iRows = 0; format(szQuery, sizeof(szQuery), "SELECT * FROM `accounts` WHERE `Username` = '%e'", account); mysql_query(szQuery); mysql_store_result(); if (mysql_num_rows()) { iRows = 1; } else iRows = 0; mysql_free_result(); return iRows; } |