SA-MP Forums Archive
[Ajuda] Sqlite salvar - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Sqlite salvar (/showthread.php?tid=568040)



Sqlite salvar - DevilAgain - 18.03.2015

Galera eu fiz um sistema aqui em sqlite para aprender porйm tive um problema:

Eu consigo fazer ele carregar, criar e salvar certinho, porйm quando eu quero salvar algo individual ele cria uma nova tabela tipo assim:

PHP код:
format(var,sizeof var,"INSERT INTO `usuarios` (`opt1`,`opt2`, `opt3`,`opt4`, `opt5`) VALUES('0', '1', 1, '1', '1')"); 
Atй ai ok, porйm eu tenho mais opзхes como login senha dinheiro etc. Entгo ele cria uma nova coluna na tabela com login senha e dinheiro = null e as op1, opt2, opt3, opt4, opt5 com os valores que eu setei.

Eu preciso saber como alterar o valor de opt1 na coluna do player e nгo criar outra para a mesma.


Re: Sqlite salvar - arakuta - 18.03.2015

Para mudar valores em uma linha utilize UPDATE

Por exemplo, alterar 'opt1' do jogador para 500

PHP код:
"UPDATE usuarios SET opt1 = 500 WHERE player LIKE 'Jogador'" 
Sobre os valore sendo criados como NULL, й importante definir a coluna como NOT NULL.

Primeiro, onde estб NULL deixe 0 (ou qualquer outro valor)

PHP код:
"UPDATE usuarios SET dinheiro=0 WHERE dinheiro=NULL" 
E entгo altere a tabela com ALTER TABLE (cuidado ao usar ALTER TABLE sem conhecimento)

PHP код:
"ALTER TABLE usuarios ALTER COLUMN dinheiro INTEGER NOT NULL" 
Para evitar problemas, sempre faзa um backup da sua database antes de enviar consultas manualmente.


Re: Sqlite salvar - DevilAgain - 18.03.2015

Ok.. entendi um pouco

PHP код:
format(var,sizeof var,"UPDATE `usuarios` SET (`opt1`,`opt2`, `opt3`,`opt4`, `opt5`) VALUES('0', '1', 1, '1', '1')"); 
Estб certo? pois nao deu resultado..


Re: Sqlite salvar - arakuta - 18.03.2015

Quote:
Originally Posted by DevilAgain
Посмотреть сообщение
Ok.. entendi um pouco

PHP код:
format(var,sizeof var,"UPDATE `usuarios` SET (`opt1`,`opt2`, `opt3`,`opt4`, `opt5`) VALUES('0', '1', 1, '1', '1')"); 
Estб certo? pois nao deu resultado..
UPDATE funciona diferente de INSERT. Й importante a condiзгo na clбusula WHERE para o servidor SQL saber onde vai editar.

PHP код:
"UPDATE [tabela] SET [coluna1]=[valor1], [coluna2]=[valor2], ... WHERE [Condiзгo...]" 
PHP код:
"UPDATE usuarios SET opt1=0, opt2=1, opt3=2 WHERE jogador LIKE 'Arakuta'" 



Re: Sqlite salvar - DevilAgain - 18.03.2015

Fiz assim:

PHP код:
( ... WHERE nick  = %s), DB_Escape(Nome(playerid))); 
Nгo obtive resultado..


Re: Sqlite salvar - arakuta - 18.03.2015

strings devem estar dentro de aspas simples.

PHP код:
"WHERE nick LIKE '%s';" 



Re: Sqlite salvar - DevilAgain - 18.03.2015

Fiz isso e continuo sem resultado...


Re: Sqlite salvar - arakuta - 18.03.2015

Como estб fazendo?


Re: Sqlite salvar - DevilAgain - 18.03.2015

PHP код:
format(var,sizeof var,"UPDATE usuarios SET opt1 = %d, opt2 = %d, opt3 = %d, opt4 = %d, opt5 = %d WHERE nick LIKE '%s'"var1var2var3var4var5DB_Escape(Nome(playerid))); 
db_query(db, var); 
Assim...


Re: Sqlite salvar - mau.tito - 19.03.2015

tenta assim , ai so colocar as outras opзхes.

pawn Код:
format(var ,sizeof(var), " UPDATE `usuarios` SET `opt1` ='%d' WHERE `jogador`='%s' ",var1, DB_Escape(NomePlayer(playerid));
  db_free_result(db_query(db,var));