Você está na página 1de 6

1

Conectando-se ao MySQL com o PHP


A maioria das aplicaes e sistemas WEB utiliza e acessa uma base de dados. A linguagem PHP permite acessar
vrios SGBDs (Sistema Gerenciador de Banco de Dados). Um dos SGBDs mais utilizados em conjunto com o PHP
o MySQL e o Postgre. Quando instalamos o aplicativo Xampp, o MySQL tambm foi instalado junto com o
interpretador PHP, ento uma boa parte do nosso trabalho de configurao do servidor j foi concluda. Agora o
que ns iremos precisar a criao de uma base de dados e as tabelas que iro armazenar as informaes
necessrias para o funcionamento de um sistema WEB. Iremos utilizar como exemplo um sistema que controla
uma secretaria escolar, no qual possui algumas funcionalidades como: cadastro, alterao, consulta e excluso
de alunos do sistema.
Siga passo-a-passo as etapas descritas abaixo:

1. CRIAO DO BANCO DE DADOS
1.1. Iremos acessar uma ferramenta grfica disponvel no Xampp que permite gerenciar com facilidade o
MySQL.
1.2. Abra o navegador e digite o seguinte endereo: http://localhost/phpmyadmin


No campo Criar novo Banco de Dados digite um nome para o banco que deseja criar. Por
exemplo: secretaria. OBS : SEMPRE UTILIZE LETRAS MINSCULAS E NUNCA UTILIZE ESPAO
EM BRANCO, ACENTOS OU OUTROS CARACTERES ESPECIAIS PARA OS NOMES E ATRIBUTOS
UTILIZADOS A SEGUIR.
1.3. Clique no boto Criar. Observe que ser executado o comando SQL para criar o banco de dados e
logo aps, ele aparecer no lado esquerdo da tela, caso no haja erro na criao.

2

1.4. No lado esquerdo da tela, clique no banco secretaria para selecionar o banco criado.
Em seguida, no campo Nome, digite um nome para criar uma nova tabela dentro do banco selecionado. Por
exemplo: tabela_alunos.
No
campo Nmero de arquivos digite a quantidade de colunas ou campos que a tabela dever conter.
Por exemplo: 6. Em seguida clique no boto Executar.
1.5. Preencha os campos com os respectivos nomes, conforme o modelo abaixo, em seguida clique no
boto Salvar.
Campo Tipo Tamanho
Matricula VARCHAR 10
nome VARCHAR 60
Endereo VARCHAR 60
cidade VARCHAR 60
uf VARCHAR 2
telefone VARCHAR 20
OBS: OS OUTROS CAMPOS NO PRECISAM SER PREENCHIDOS.
Caso os campos preenchidos estejam corretos, o comando SQL ser executado e a tabela juntamente
com seus campos sero criados, conforme a tela abaixo:


2. ACESSANDO O BANCO DE DADOS COM O PHP
A linguagem PHP possui algumas funes especficas para acessar o SGBD MySQL. Para isso, iremos criar
um arquivo com o uso das seguintes funes: mysql_connect() e mysql_select_db().
Exemplo:
$conexao = mysql_connect(servidor, usurio, senha);
servidor: endereo do servidor do banco de dados (caso seja sua prpria mquina, o
endereo localhost ou 127.0.0.1);
3

usurio: nome de usurio utilizado para acessar o banco de dados (exemplo: root);
senha: senha do usurio que far a conexo(exemplo: 1234);

Esse comando retorna um identificador para a conexo (ponteiro) em caso de sucesso, ou false em caso
de falha. Este ponteiro pode ser armazenado dentro de uma varivel PHP para utilizao posterior (ex:
para fechar a conexo).
A varivel $conexao receber o identificador da conexo, que poderemos utilizar para identific-la
quando necessrio. Feita a conexo, devemos selecionar o banco de dados no qual deveremos
trabalhar. Voc pode passar o nome do banco de dados como quarto parmetro da conexo ou utilizar
a funo mysql_select_db() para isso.
Exemplo:
$bd = mysql_select_db(banco, identificador_conexo);
banco: nome do banco de dados no qual deseja utilizar para o acesso aos dados. Exemplo:
secretaria;
identificador_conexo: nome da conexo utilizada para conectar ao banco de dados.
Exemplo: a varivel $conexao.


3. CADASTRANDO REGISTROS NO BANCO DE DADOS
Aps a conexo com o servidor e selecionar o banco de dados desejado, iremos agora cadastrar (inserir)
registros na tabela. Para isso, precisamos de uma interface na qual o usurio do sistema possa ter
acesso. O formulrio HTML uma forma de interagir com o banco de dados, pois podemos colocar
todos os campos necessrios que devem ser preenchidos para que sejam inseridos na tabela desejada.
A imagem abaixo mostra um exemplo de formulrio HTML que receber os dados necessrios para que
posteriormente possam ser inseridos na tabela.



4

3.1. O cdigo abaixo cria o formulrio HTML:
1
<html>
<head>
<title>CADASTRO DE ALUNOS</title>
</head>
<body>
<h1>CADASTRO DE ALUNOS</h1>
<form action="add_alunos.php" method="post" name="add_alunos">
<table cellpadding="0" cellspacing="0" width="40%" border="1" bordercolor="#00CCCC">
<tr>
<td>Matrcula</td><td><input type="text" name="matricula" size="11"></td></tr>

<tr>
<td>Nome</td><td><input type="text" name="nome" size="60"></td></tr>

<tr>
<td>Endereo</td><td><input type="text" name="endereco" size="60"></td></tr>


<tr>
<td>Cidade</td><td><input type="text" name="cidade" size="60"></td></tr>

<tr>
<td><label>UF</label></td>
<td><select name="uf">
<option value="AC">AC</option>
<option value="AM">AM</option>
<option value="AL">AL</option>
.
. OBS: ESSE TRECHO FOI OMITIDO PARA ECONOMIZAR ESPAO
.
<option value="SC">SC</option>
<option value="SP">SP</option>
<option value="TO">TO</option>
</select></td>
</tr>

<tr>
<td>Telefone</td><td><input type="text" name="telefone" size="20"></td></tr>

<tr>
<td colspan="2"><input type="submit" name="cadastra" value="Cadastrar"><input
type="reset" name="limpar" value="Limpar"></td>
</tr>

</table>
</form>

</body>
</html>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

OBS: Na linha 5, o atributo action=add_aluno.php ir determinar o que dever ser feito com os dados
digitados no formulrio quando ele for submetido.
Observe que cada elemento input possui um atributo name no qual ser utilizado para designar
posteriormente uma varivel PHP dentro do arquivo add_aluno.php.









5

3.2. O cdigo abaixo cria o arquivo add_aluno.php que ir receber os dados digitados no formulrio
para posteriormente ser inseridos no banco de dados.
1 <?php
//conexo com o servidor
$conexao = mysql_connect('localhost','root','');
if(!$conexao) {
echo 'Erro ao tentar conectar ao servidor.';
}

//seleciona o banco de dados;
$db = mysql_select_db('secretaria',$conn);
if(!$db) {
echo 'Erro ao tentar selecionar o banco de dados.';
}

$matricula=$_POST['matricula'];
$nome=$_POST['nome'];
$endereco=$_POST['endereco'];
$cidade=$_POST['cidade'];
$uf=$_POST['uf'];
$telefone=$_POST['telefone'];


$sql="insert into tabela_alunos
values('$matricula','$nome','$endereco','$cidade','$uf,
'$telefone')";
$executa=mysql_query($sql);
if ($executa)
{
echo "Dados inseridor com sucesso!";
}
else
{
echo "Erro ao tentar inserir os dados!";
}

?>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31


3.3. Entendendo o cdigo:
Linha 3 criada uma varivel $conexao que recebe a funo mysql_connect() contendo os valores
necessrios para conectar-se ao servidor.
Linha 4 e
Linha 9
executado um teste condicional nas varivel $conexao e $db. Se $conexao e $db no ocorrerem,
ser exibida na tela uma mensagem de erro. Foi utilizado o operador ! (negao) para testar a
condio, pois o que nos importa. Caso o valor seja falso, ou seja, se as variveis $conexao e $db
ocorrerem, no nos importa saber se elas ocorreram.
Linha 8 criada uma varivel $db que recebe a funo mysql_select_db() contendo os valores necessrios
para selecionar o banco de dados desejado.
Linhas 12 a
17
So criadas as variveis passadas pelos inputs do formulrio HTML.
Linha 20 criada uma varivel $sql para receber a string do comando SQL necessrio para inserir dados em
uma tabela.

6

Linha 22 criada uma varivel $executa para receber a funo mysql_query(), na qual executa o comando
(query) da linguagem SQL. OBS: a string SQL para inserir dados na tabela poderia ser colocada
diretamente dentro da funo mysql_query(). Exemplo: mysql_query('insert into
tabela_alunos values
('$matricula','$nome','$endereco','$cidade,'$uf,'$telefone')');
Linha 23 executado um teste condicional na varivel $executa. Caso ela ocorra, ou seja, retorne
verdadeiro, ser exibida na tela uma mensagem de sucesso. Caso contrrio, ser exibida uma
mensagem de erro.