Как получить из MySQL базы значение с типом
float? (в самой базе)
Пытался преобразовывать полученные значения через floatround - в результате при компиляции лезет ошибка
tag mismatchЕсли получать обычные числовые значения без запятой, все работает, только мне нужно значение, которое с запятой.
Код ниже компилируется без ошибок, но при работе на сервере выдает
Цитата
L 09/06/2015 - 00:01:54: [MySQL] No result set in this query!
L 09/06/2015 - 00:01:54: [AMXX] Displaying debug trace (plugin "test.amxx")
L 09/06/2015 - 00:01:54: [AMXX] Run time error 10: native error (native "SQL_ReadResult")
L 09/06/2015 - 00:01:54: [AMXX] [0] test.sma::FirstTimeHandle (line 62)
Ну а в игре я имею 0 вместо нужного значения.
Код:
#include <amxmodx>
#include <engine>
#include <cstrike>
#include <sqlx>
#define PLUGIN "plugin"
#define VERSION "1.0"
#define AUTHOR "author"
#define HOST "localhost"
#define USER "user"
#define PASS "pass"
#define DBASE "dbase"
new Handle:SQL_Tuple
new Handle:SQL_Connection
new account_money[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /test", "MainMenu")
register_clcmd("say /ttt", "qqq")
set_task(1.0, "mysql_connection")
}
public client_putinserver(id)
{
set_task(0.1, "CheckUser", id);
}
public mysql_connection(id)
{
new err, error[256]
SQL_Tuple = SQL_MakeDbTuple (HOST, USER, PASS, DBASE)
SQL_Connection = SQL_Connect(SQL_Tuple, err, error, charsmax(error))
if(SQL_Connection != Empty_Handle)
{
log_amx("[connect ok]")
}else{
log_amx("[SQLX sql error] %s ",error)
}
}
public CheckUser(id)
{
new SteamId[35], szTemp[512]
new Data[1]
Data[0] = id
get_user_authid(id, SteamId, charsmax(SteamId))
format(szTemp, charsmax(szTemp), "SELECT `eco_points` FROM `ipb_pfields_content` WHERE `field_11` = '%s'", SteamId)
SQL_ThreadQuery (SQL_Tuple, "CheckUserHandle", szTemp, Data, 1)
}
public CheckUserHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
new id
id = Data[0]
new money[33]
new i_money = SQL_FieldNameToNum(Query, "eco_points")
account_money[id] = SQL_ReadResult(Query, i_money, money, 32)
}
public qqq(id)
{
client_print(id,print_center,"Значение равно %f", account_money[id])
}
Может кто подсказать, как из MySQL получить дробное число и преобразовать его в обычное.
Изменить тип данных в MySQL нельзя, веб часть сыпится.