Dъvida em mysql -
Lontresca - 14.10.2017
Eu gostaria de entender uma coisa que nгo entrou na minha cabeзa ainda.
Estou pensando assim...
exemplo
PHP код:
new valor;
OnGameModeInit
{
mysql_format(conexao, stringQ, sizeof(stringQ), "SELECT * FROM conta", valor);
mysql_tquery(conexao, stringQ, "carregar", "i", valor);
}
carregar()
{
cache_get_value_int(0, "Tabela_Valor", valor);
}
// no banco de dados o nome й Tabela_Valor e ela tem um valor de 1
Tabela_Valor 1
// Ate esse ponto carregamos na variбvel valor o valor da Tabela_Valor
// entгo a variбvel valor recebeu 1
printf(" valor = %i ", valor);
console | valor = 1 |
Agora vem a minha dъvida
PHP код:
// vamos mudar o valor da variбvel valor.
CMD:add
valor = 2;
UPDATE conta SET Tabela_Valor = %i
o Valor setado sу sera reconhecido quando o servidor reiniciar ou seja, quando carregar a variбvel de novo.
Eu gostaria de saber se й isso mesmo.
Re: Dъvida em mysql - Whoo - 14.10.2017
A Variбvel que vocк armazenou o valor que recebeu de
SELECT vai receber o novo valor no caso 2, feito isso vocк vai atualizar o campo Tabela_Valor da tabela conta utilizando
UPDATE com o novo valor que esta armazenado na variavel.
Tanto a tabela quanto a variavel esta com o novo valor, vocк nгo precisa reiniciar o servidor de maneira alguma vocк pode utilizar
SELECT quando bem entender mas o novo valor ja estando armazenado na variavel nгo vai ter necessidade.
Sei que foi sу exemplo mas o exemplo esta errado.
Re: Dъvida em mysql -
Lontresca - 14.10.2017
Obrigado Whoo, desculpe ainda estou tentando aprender.
Vocк poderia aportar os erros nesse exemplo, vai servir de aprendizado para mim.
Re: Dъvida em mysql - Whoo - 14.10.2017
- Vocк declarou a variavel "valor" para armazenar os valores porem vocк nгo sabe o numero de linhas que vai receber.
- mysql_format sу utilizamos quando precimos passar "condiзхes(nгo sei se a palavra certa seria essa)" para SELECT, UPDATE, DELETE, INSERT, exemplo: "SELECIONE TUDO DE CONTAS AONDE O NOME Й IGUAL MATHEUS" caso contrario nгo tem necessidade de utilizar mysql_format.
- a callback que vocк chama(que й opcional) em mysql_tquery deve ser public e os parвmetros que vocк passa nгo tem nada haver com o que vocк vai receber de select, pode ser o id do player por exemplo. (playerid):
Код:
The callback must be a public function. That means it has to be forwarded.
existe tutoriais pela internet e no prуprio foŕum sobre MySQL.
PHP код:
/*
// Vamos selecionar tudo de contas. (lembrando que se nгo for passar "condiзхes" nгo tem necessidade).
mysql_format(conexao, query, sizeof(query), "SELECT * FROM `conta` WHERE `id`='%d'", 32);
// Vamos rodar a query e receber as informaзхes de SELECT na callback Carregar.
mysql_tquery(MySQL, query, "Carregar");
*/
// Vamos rodar a query e receber as informaзхes de SELECT na callback Carregar.
mysql_tquery(MySQL, "SELECT * FROM `conta`", "Carregar");
forward Carregar() public Carregar() {
// Vamos armazenar o numero de linhas que recebemos na variavel rows.
new rows = cache_get_row_count();
// Se qualquer numero maior que zero.
if(rows)
{
// Vamos armazenar o valor da coluna Tabela_Valor na var[linha a], valor teria que ser global para utilizar em outras partes do gm
new valor[rows];
// enquanto a for menor que o numero de linhas que recebemos.
for(new a; a < rows; ++a)
{
// vamos pegar o valor da coluna Tabela_Valor da linha 'a' e vamos armazenar na variavel valor[linha : a].
cache_get_value_int(a, "Tabela_Valor", valor[a]);
}
}
else
{
// Nгo existe nada na tabela contas.
}
return 1;
}
Com o lanзamento de novas versхes do plugin mysql й alterado nome e removido algumas funзхes й sempre bom estar olhando o github,