Free CSS Button Css3Menu.com

Tutoriais » PHP » Conexão (MySQL) »

Tem muita coisa para escrever nesta página.
A PHP pode realizar conexão com vários SGBDs. Para cada um deles existem funções da linguagem. Para todos existem funções que estabelecem a conexão do ambiente PHP com o SGBD. Para as funções de conexão são necessários fornecer quatro parâmetros: Nome do Servidor (onde está rodando o SGBD), Nome de Usuário do SGBD, Senha do Usuário do SGBD e Nome da Base de Dados que se quer conectar.
Aqui já podemos abrir espaço para vários comentários.
Nome do servidor? O Servidor de Banco de Dados pode estar rodando em uma máquina dedicada MAS que deve ter um Nome de identificação OU ter seu número IP (FIXO) disponível.
Nome/Senha do Usuário? O SGBD tem uma estrutura interna de gerenciamento de usuários com seus próprios nomes e senhas e esses valores devem ser informados nas funções de conexão PHP-SGBD. Existem alguns Servidores de Dados que usam a estrutura de identificação de usuários do sistema operacional onde o SGBD está hospedado. Isso pode ser bom e ruim. Do lado bom: facilidade de administração. Do lado ruim: menos segurança contra invasões sobre os dados (uma vez que basta quebrar o sistema de acesso do SO que se tem acesso aos dados do SGBD). Não mencionar aqui qual SGBD usa o modo fácil (e ruim). O MySQL usa o modo bom, ou seja: temos que ter nome e senha do usuário no SGBD. Na maioria das instalações do MySQL para estudo é criado um usuário root SEM SENHA de acesso. Em outras palavras: o SGBD vira a casa da Mãe Joana (sem nenhum controle de segurança). Se você quiser ter um MySQL mais robusto na segurança coloque uma senha no usuário root. Como nosso exemplo é de tutorial eu vou supor que exista um usuário estudante com privilágios de superusuário e senha e1s2t3u4d5a6n7t8e9.
Nome da Base de Dados? O SGBD pode administrar várias bases de dados em um mesmo servidor. Cada base tem seu nome (e único) para o SGBD que cuida dela. Quando fazemos a conexão devemos informar ao SGBD qual base de dados queremos acessar. Os SGBDs podem armazenar diferentes configurações de permissões de acesso de um usuário para uma base de dados. O MySQL adota uma política de segurança assim: o usuário é configurado com permissões de acesso ao SGBD e tem iguais direitos sobre qualquer base. Isso facilita muito a administração sem tirar quesitos da segurança. Podemos pensar em categorias de usuários: Analistas, programadores e usuários. Os primeiros podem 'tudo' (criar uma base, criar uma tabela na base e se podem criar também podem remover), o segundo tipo pode acessar toda a base para ler os dados (e estruturas de tabelas) mas sem criar bases nem tabelas, o terceiro só pode acessar as estruturas (bases e bancos) para atualizar seus dados (podendo ser ainda restringidos sobre quais dados serão acessados).
Bem, vamos aos códigos.
Ou não!!! Precisamos falar de conexões temporárias e persistentes.
Tudo tem um começo. E depois do começo vem o desenrolar de uma história onde o autor da história não sabia direito o que estava escrevendo... e no andar da carruagem ele descobre que deve mudar o curso da história... Quanta enrolação!
No inicio os SGBDs e SOs precisavam usar menos recursos do computador para programas escritos em linguagens como PHP acessassem os bancos de dados e os atualizassem. Por este motivo forte (economia de recurso computacional) o SGBD aceitava uma conexão para CADA UM dos comandos que lhe seriam destinados. A conexão era estabelecida, UM comando era enviado e no mesmo instante a conexão era desfeita. Com o amadurecimento dos Programas Aplicativos que acessavam os bancos de dados percebeu-se o aumento de programas que enviavam mais de um comando ao SGBD. Daí a cada comando era necessário fazer a conexão e esse vai e vem de conexão começou a ficar caro (em termos de processamento computacional). Assim foi criado o conceito de conexão persistente.
Mas para que tanta história?
Se um dia você fizer um sistema e querer hospedar este sistema em um provedor com um SGBD pode ser que o administrador do provedor RECOMENDE FORTEMENTE o uso de conexões NÃO PERSISTENTES. Se você fizer um sistema para rodar em uma empresa com uns 200 computadores na rede acessando seu SGBD você pode usar conexões persistentes.
Bem, vamos aos códigos?
Para estabelecer a conexão e escolher a base de dados o PHP tem as funções:

mysql_connect() e mysql_pconnect() (tudo bem eu falo, a segunda faz uma conexão persistente).
Esta função recebe três parametros: nome do servidor, nome do usuário e senha de acesso. Esta função gera um ponteiro indicando verdadeiro (e todos os valores da conexão) OU falso. É MUITO FORTEMENTE RECOMENDADO que este ponteiro fique em uma variável.
mysql_select_db() Recebe um ponteiro indicando uma conexão com o SGBD e o nome de um banco de dados que o SGBD cuida na conexão estebelecida.

Mas calma... eu já montei tudo em um programa e coloquei aqui já prontinho para você pegar e usar... Viu?

O Prof. nem sempre é carrasco! Veja o fonte.


© João Maurício Hypólito - Ourinhos/SP