[Ajuda] Mysql
#1

Estou fazendo registro em mysql normal tudo certo seguindo um tutorial em inglкs

mais quando o player conecta na Hora da funзгo
pawn Код:
mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);
no log mysql aperece error nгo salva nada.

PHP код:
[15:37:00] [DEBUGmysql_errno connection1
[15:37:22] [DEBUGmysql_format connection1len128format"SELECT `Senha`, `ID`, FROM `players` WHERE `Nome` = '%e' = LIMIT 1"
[15:37:22] [DEBUGmysql_tquery connection1query"SELECT `Senha`, `ID`, FROM `players` WHERE `Nome` = 'RayFilho' ="callback"OnAccountCheck"format"i"
[15:37:22] [DEBUGCMySQLQuery::CMySQLQuery() - constructor called
[15:37:22] [DEBUGmysql_tquery scheduling query "SELECT `Senha`, `ID`, FROM `players` WHERE `Nome` = 'RayFilho' = LIMIT 1"..
[
15:37:22] [DEBUGCMySQLQuery::Execute[OnAccountCheck(i)] - starting query execution
[15:37:22] [ERRORCMySQLQuery::Execute[OnAccountCheck(i)] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `players` WHERE `Nome` = 'RayFilho' = LIMIT 1' at line 1
[15:37:22] [DEBUGCMySQLQuery::Execute[OnAccountCheck(i)] - error will be triggered in OnQueryError
[15:37:22] [DEBUGCMySQLQuery::Execute[OnAccountCheck(i)] - data being passed to ProcessCallbacks()
[
15:37:22] [DEBUGCMySQLQuery::~CMySQLQuery() - deconstructor called
[15:37:25] [DEBUGmysql_format connection1len128format"UPDATE `players` SET `pAdmin`=%d,`Vip`=%d,`Dinheiro`=%d,`PosX`=%f, `PosY`=%f, `PosZ`=%f WHERE `ID`=%d"
[15:37:25] [DEBUGmysql_tquery connection1query"UPDATE `players` SET `pAdmin`=0,`Vip`=0,`Dinheiro`=0,`PosX`=0.00"callback"(null)"format"(null)"
[15:37:25] [DEBUGCMySQLQuery::CMySQLQuery() - constructor called
[15:37:26] [DEBUGmysql_tquery scheduling query "UPDATE `players` SET `pAdmin`=0,`Vip`=0,`Dinheiro`=0,`PosX`=0.000000, `PosY`=0.000000, `PosZ`=-10.537059 WHERE `ID`=0"..
[
15:37:26] [DEBUGCMySQLQuery::Execute[()] - starting query execution
[15:37:26] [DEBUGCMySQLQuery::Execute[()] - query was successful
[15:37:26] [DEBUGCMySQLQuery::Execute[()] - no callback specifiedskipping result saving
[15:37:26] [DEBUGCMySQLQuery::Execute[()] - data being passed to ProcessCallbacks()
[
15:37:26] [DEBUGCMySQLQuery::~CMySQLQuery() - deconstructor called 
pawn Код:
public OnAccountCheck(playerid)
{
    new rows, fields;
    cache_get_data(rows, fields, mysql);
    if(rows)
    {
        cache_get_field_content(0, "Senha", PlayerInfo[playerid][Senha], mysql, 129);
        PlayerInfo[playerid][ID] = cache_get_field_content_int(0, "ID");
        printf("%s", PlayerInfo[playerid][Senha]);
        ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "LOGIN","Para Jogar Vocк Deve Fazer o Login","LOGAR","SAIR");
    }
    else
    {
        ShowPlayerDialog(playerid,Registro,DIALOG_STYLE_INPUT, "REGISTRO","Registre Antes De Jogar","REGISTRAR","SAIR");
    }
    return 1;
}
Reply
#2

Provavelmente trata-se de um erro de sintaxe na query. Verifique tudo, aspas, comandos SQL, etc.
Reply
#3

Jб fui no comandos SQL copiei mesmo assim erro continua.
Reply
#4

Seguinte... Eu tava transferindo meu sistema do Sqlite pro Mysql, e antes fiz assim e nгo dava tambйm....

O certo seria assim:

PHP код:
new Cache:result// Criei no topo para armazenar os resultados das queries. A partir disso que vocк confere se hб ou nгo registros no BD. 
Exemplo de carregamento:

PHP код:
mysql_format(dbquerysizeof(query), "SELECT * FROM %s"TABELA_QUALQUER_DEFINIDA);
        
result mysql_query(dbquery); // Faзo a Query e retorno ao Result, os registros.

for(0cache_num_rows(); a++) // cache_num_rows() = nъmeros de registros retornados
{
    
// Carregamento....

Reply
#5

Cara usa o MySql com cautela, Nгo tem necessidade de vocк salvar esse tipo de coisa no banco de dados.

Quote:

pAdmin
PosX
PosY
PosZ

No banco de dados te aconselho salvar, Dinheiro, Posiзгo de Ranking e algumas outras coisas ъteis que vocк poderб usar e alterar no site.
Reply
#6

problema ta aqui:

PHP код:
SELECT `Senha`, `ID`, FROM `playersWHERE `Nome` = 'RayFilho' LIMIT 1 
tem ali um = a mais no fim, erro de sintaxe de SQL.
Reply
#7

Error foi resolvido tinha uma virgula antes do WHERE, mais agora aparece o mesmo error aparece assim

PHP код:
[23:30:25] [ERRORCMySQLQuery::Execute[OnAccountRegister] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`) VALUES 'zeo3','0CAC0FE96D3E430966D0C392CC3BF98766BE705D5F3B32C81ED59E190A4DB0' at line 1 
Reply
#8

linha de cуdigo?

provavelmente voce tem um ' em vez de um ` ou vice versa.
Reply
#9

pawn Код:
mysql_format(mysql, query, sizeof(query), "INSERT INTO `players`(`Nome`,`Senha`,`pAdmin`,`Vip`,`Cadeia`,`Armas`,`Emprego`,`Dinheiro`,`Score`,`PosX`,`PosY`,PosZ`) VALUES '%e','%s',0,0,0,0,0,500,0,0.0,0.0,0.0,",Name[playerid],PlayerInfo[playerid][Senha]);
                        mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid);
Reply
#10

VALUES ('%e','%s',0,0,0,0,0,500,0,0.0,0.0,0.0)

Aqui utilizo Aspas simples com o Mysql e funciona.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)