O Uso do MySQL (Plugin: BlueG) -
MtC - 07.07.2015
Para desenvolver projetos de qualidade й preciso estar se adequando e aprimorando nossos conhecimentos.
O uso do MySQL se torna enssкncial para atingir uma qualidade e uma seguranзa adequada em nossos projetos, neste breve tutorial abordarei algumas das principais funзхes do Plugin MySQL criado por BlueG.
1. Ferramentas
O primeiro passo й sempre o mais importante, nele iremos ter conhecimento das ferramentas que iremos utilizar.
WAMPServer - Precisaremos de um servidor Apache rodando em nossa mбquina para trabalhar com o phpMyAdmin, recomendo o WampServer. Fique б vontade para usar outro de sua preferкncia (Xampp, VertrigoServ, EasyPHP).
phpMyAdmin - Por que utilizar o phpMyAdmin? A resposta й bem simples: O phpMyAdmin vai facilitar o trabalho de integraзгo em um futuro UCP e tambйm a praticidade de criaзгo e administraзгo de banco de dados.
Plugin MySQL (BlueG) - Utilizaremos este plugin por ser o mais atual presente na comunidade e ao meu ver o melhor.
2. Estrutura
Tendo jб todas as ferramentas a disposiзгo precisaremos montar a
estrutura do nosso sistema, й importante saber que ao
salvar uma informaзгo precisaremos de uma identificaзгo para posteriormente poder identificar e carregar esta informaзгo salva. Tendo isto em mente precisaremos de um ID (Identificaзгo), entгo toda tabela que criarmos, precisaremos de uma coluna ID, por exemplo:
PHP код:
id (Lembre-se sempre de definir como AUTO_INCREMENT & PRIMARY KEY)
name
pass
AUTO_INCREMENT - Esta funзгo incrementarб o valor da coluna ID, por exemplo: sempre que um novo registro for adicionado a tabela a coluna ID serб incrementada com um valor.
PRIMARY KEY - Esta funзгo indicarб que a coluna terб um valor exclusivo, ou seja, o valor nгo se repetirб.
Tendo essas descriзхes em mente й de extrema importвncia a combinaзгo destas funзхes na coluna ID, pois com ela teremos uma identificaзгo de cada registro, por exemplo:
Ao realizarmos um registro, digamos que pela primeira vez, a coluna id receberб o valor
“id = 1”, o registro seguinte receberб o valor
“id = 2” , pois os valores contidos na coluna
id nгo devem ser repetidos entгo o
AUTO_INCREMENT incrementa um valor e a funзгo
PRIMARY_KEY informa pro
AUTO_INCREMENT que os valores nгo podem ser repetidos.
3. Inserзгo de Dados
Nesta parte entenderemos melhor o funcionamento do processo de inserзгo de dados em uma tabela, utilizarei como exemplo a estrutura mostrada acima.
Partiremos da seguinte situaзгo: Precisamos cadastrar o nome de usuбrio e a senha do usuбrio.
PHP код:
new sG[128]; //Esta variбvel й meramente ilustrativa, nгo se preocupem com ela.
format(sG,sizeof(sG), "INSERT INTO users (name,pass) VALUES ('%s','%s')",name,pass);
mysql_query(1,sG);
Como podemos ver acima, com apenas duas linhas de cуdigo criamos um registro em nosso banco de dados, vocк pode ter notado que o
'id' nгo foi especificado, o motivo й que por se tratar de uma coluna
AUTO_INCREMENT nгo й necessбrio que especifiquemos um valor ao efetuar uma inserзгo.
Vamos agora destrinchar tudo o que foi usado e entendermos o porque de seu uso.
Format - O uso do Format й de grande importвncia para inserir os dados necessбrios na funзгo de inserзгo.
INSERT INTO (INSIRA DENTRO DE) – Nesta funзгo vamos declarar onde vamos inserir os dados, neste caso vamos inserir na tabela
'users' em seguida definimos as colunas as quais vamos inserir os dados
'(name,pass)', em seguida especificamos os valores
VALUES ('%s','%s'), por se tratar de colunas de texto utilizamos aspas simples e como estamos utilizando o Format utilizamos
'%s'.
mysql_query – Esta funзгo fica responsбvel por executar o cadastro, sem ela a “mбgica” nгo ocorreria, nela especificamos o
nъmero da conexгo (1), em seguida inserimos o valor formatado na funзгo format
(sG).
PHP код:
mysql_query(1,"INSERT INTO users (name,pass) VALUES ('Fulano','ZikadaBalada')");
Deste outro modo visto acima, poderнamos inserir dados na tabela
'users' porйm nгo poderнamos formatar os valores, este modo nгo poderia ser utilizado em um
sistema de registro por exemplo.
4. Seleзгo de Dados
Nesta etapa veremos como selecionar dados de um tabela e registrar os dados em variбveis.
Primeiramente vamos criar uma estrutura bбsica em nosso cуdigo para que assim possamos gravar os dados extraнdos de nosso banco de dados:
PHP код:
enum users
{
id,
name[MAX_PLAYER_NAME],
pass[128],
}
new User[MAX_PLAYERS][users];
Agora vamos executar a funзгo de carregamento de dados de um usuбrio especнfico:
PHP код:
new resultados, n[MAX_PLAYER_NAME];
format(sG,sizeof(sG),"SELECT * FROM users WHERE id = %d",id);
mysq_query(1,sG);
resultados = cache_num_rows();
if(resultados > 0)
{
User[playerid][id] = cache_get_field_content_int(0, "id");
cache_get_field_content(0, "name", n); strcat(User[playerid][Name],n,128);
}
cache_get_field_content_int(linha,nome do campo) - Esta funзгo й especifica para a coleta de valores inteiros.
linha - Por se tratar de uma seleзгo de dados especifica onde visamos o retorno de somente 1 resultado
mantemos o valor de linha em '0', pois vamos coletar o valor da primeira linha encontrada.
nome do campo - O nome do campo refere-se ao nome da coluna, entгo neste caso estamos resgatando o valor da coluna
'id'.
PHP код:
enum houses
{
id,
}
new House[MAX_PLAYERS][houses];
PHP код:
new resultados;
mysql_query(1,"SELECT * FROM houses");
mysq_query(1,sG);
resultados = cache_num_rows();
for(new r; r < resultados; r++)
{
House[r][id] = cache_get_field_content_int(r, "id");
}
Neste segundo caso podemos notar a presenзa de um
"for()" que й executado em torno do valor encontrado na variбvel
"resultados".
cache_num_rows() - Esta funзгo й responsбvel por retornar o nъmero de linhas encontradas na busca realizada pelo
"mysql_query()".
5. Atualizaзгo de Dados
Nesta etapa veremos a grande importвncia da coluna
"id", ao atualizarmos um valor presente na tabela precisaremos especificar o ID onde iremos direcionar as mudanзas, por exemplo:
Precisamos mudar o nome de um usuбrio especнfico:
PHP код:
format(sG,sizeof(sG),"UPDATE users SET name = '%s' WHERE id = %d",name,id);
mysql_query(1,sG);
Em outros casos nгo necessitaremos do uso do ID:
PHP код:
format(sG,sizeof(sG),"UPDATE users SET name = '%s' WHERE name = '%s'",new_name,old_name);
mysql_query(1,sG);
O segundo mйtodo pode parecer um pouco confuso mas й simples, iremos gravar na variбvel
'old_name' o atual nome, a funзгo
mysql_query vai efetuar uma busca na tabela em busca de um registro que possua
name = old_name.
A diferenзa entre ambos й somente a variбvel de identificaзгo, em um buscamos pelo ID e em outro buscamos pelo Nome.
A condiзгo
WHERE tem papel fundamental nos dois mйtodos usados acima pois sem ela nгo seria possнvel criar uma condiзгo para execuзгo das atualizaзхes.
6. Consideraзхes Finais
Pois bem, como podemos notar, й muito simples utilizar o MySQL em nossos futuros projetos, nestes exemplos tentei destacar a possibilidade da criaзгo de um cуdigo limpo e simples.
Por exemplo:
PHP код:
MySQL_function_query(dbHandle, "SELECT * FROM players WHERE name = 'Andre' LIMIT 0,1", true, "OnPlayerDataLoad", "s", "Andre");
forward OnPlayerDataLoad(name[]);
public OnPlayerDataLoad(name[])
{
new rows, fields;
cache_get_data(rows, fields);
if(!rows)
{
print(!"Andre is not a registered account on this server!");
}
else
{
printf("Andre is registered (1 row with %d fields)", fields);
}
}
No exemplo mostrando acima й necessбrio criar uma nova callback para fazer o retorno dos dados, farei a mesma funзгo de uma forma mais simples abaixo:
PHP код:
new rows, fields;
format(sG,sizeof(sG),"SELECT * FROM players WHERE name = 'Andre' LIMIT 0,1");
mysql_query(1,sG);
cache_get_data(rows, fields);
if(!rows)
{
print(!"Andre is not a registered account on this server!");
}
else
{
printf("Andre is registered (1 row with %d fields)", fields);
}
Bem, entгo й isso, peзo perdгo por erros ortogrбficos e espero que de alguma forma este texto possa vir a ser ъtil para vocк, deixe o seu feedback com sugestхes para que eu possa estar vindo a melhor nos prуximos tutoriais.
7. Crйditos
Elaboraзгo do Tutorial:
MtC
Plugin MySQL:
BlueG
Re: O Uso do MySQL (Plugin: BlueG) -
FallweN - 07.07.2015
Bom tutorial, bem explicado, acho que faltou a explicaзгo de algumas coisas ai mas sгo coisas simples, como conectar o servidor ao banco de dados etc... Mas ficou bem explicado e organizado.
Parabйns.
Re: O Uso do MySQL (Plugin: BlueG) -
Dolby - 07.07.2015
Wow, hб tempos nгo vejo algo do tipo aqui, de forma tгo organizada.
Apenas uma dica: Onde vai exibir as funзхes para uma posterior explicaзгo, use a tag
LIST
Bom trabalho.
Re: O Uso do MySQL (Plugin: BlueG) -
HaRdiiZin - 07.07.2015
Muuito bom!
Re: O Uso do MySQL (Plugin: BlueG) -
MtC - 07.07.2015
Quote:
Originally Posted by FallweN
Bom tutorial, bem explicado, acho que faltou a explicaзгo de algumas coisas ai mas sгo coisas simples, como conectar o servidor ao banco de dados etc... Mas ficou bem explicado e organizado.
Parabйns.
|
Muito obrigado pela opiniгo, evitei estas explicaзхes por jб existirem alguns tutoriais focados nestas partes
!
Quote:
Originally Posted by Dolby
Wow, hб tempos nгo vejo algo do tipo aqui, de forma tгo organizada.
Apenas uma dica: Onde vai exibir as funзхes para uma posterior explicaзгo, use a tag LIST
Bom trabalho.
|
Muito obrigado, fico feliz pelo feedback e irei utilizar a dica! Obrigado!
Quote:
Originally Posted by HaRdiiZin
Muuito bom!
|
Muito obrigado por comentar HaRdiiZin.
Re: O Uso do MySQL (Plugin: BlueG) -
GM_KoDi - 07.07.2015
Wow parabйns pelo tutorial, bem explicado e o topico bem organizado, espero ver mais trabalhos seu aki na board, abraзos.
Re: O Uso do MySQL (Plugin: BlueG) - MacMillan_ - 07.07.2015
Excelente organizaзгo e explicaзгo! Agora o que nгo falta aqui sгo tutoriais mysql
Seria bom ter tutoriais de como usar sqlite.
Re: O Uso do MySQL (Plugin: BlueG) -
MtC - 07.07.2015
Quote:
Originally Posted by MStyleBR
Wow parabйns pelo tutorial, bem explicado e o topico bem organizado, espero ver mais trabalhos seu aki na board, abraзos.
|
Muito obrigado, MStyleBR. Estou pensando em desenvolver alguns sistemas e publicar, brevemente postarei algo para avaliaзгo do pessoal
!
Quote:
Originally Posted by MacMillan_
Excelente organizaзгo e explicaзгo! Agora o que nгo falta aqui sгo tutoriais mysql
Seria bom ter tutoriais de como usar sqlite.
|
Й acabei notando que haviam vбrios e tentei abordar algo diferente, SQLite й bacana й uma boa opзгo pro pessoal estar usando tambйm! Me manterei no MySql ainda quero desenvolver alguns sistemas e UCP's para estar publicando talvez me foque em um projeto em que eu me disponha a estar atualizando constantemente. Pretendo abrir um servidor no futuro mas atй lб estou sem equipe para isso, entгo pretendo estar compartilhando conteъdo, tudo aquilo que eu puder fazer e for ъtil para a comunidade.
Re: O Uso do MySQL (Plugin: BlueG) -
IgorLuiz - 07.07.2015
Belo tutorial!!
Re: O Uso do MySQL (Plugin: BlueG) -
Rhayziin - 07.07.2015
Muito bom, parabйns!