sábado, 30 de março de 2013

Conexão com base de dados via Mysql com PHP

Um desenvolvedor WEB sempre se depara com uma situação, ou com um projeto no qual se exige que se crie ou se manipule dados. Portanto, para quem atua no ramo, é importante que saiba pelo menos o básico de SQL e, saiba estabelecer uma conexão com base de dados. Nesta postagem, será apresentado como, via PHP, pode-se criar uma conexão com o SGBD (Sistema Gerenciador de Banco de dados) MySQL, e como executar alguns comandos SQL, utilizando-se desta conexão.


Primeiramente, iremos criar um formulário simples de cadastro (No post anterior, Como passar dados de um formulário ao servidor), há uma descrição de como fazer isso, e de como enviar informações para serem processados por um servidor ). Segue o trecho de código abaixo, copie e cole no seu editor:


<html>
 <head>
  Cadastro básico
  
 </head>
 <body>
  
</body> </html>

Quando voçê clicar no botão Enviar, os dados serão enviados para uma página chamada salva.php, especificado no 'action' da tag FORM. É este arquivo que será responsável por receber as informações do formulário e persistí-los em base de dados. Porém antes disso, devemos saber onde de fato ficará estas informações. Saber de forma mais precisa.


Uma base de dados é formada por tabelas que se inter-relacionam. Cada tabela representa, digamos, uma entidade do mundo real. Por exemplo: Tabela motorista é onde ficam armazenados todos os motoristas cadastrados. Já os carros, ficam armazenados na Tabela Carro, por exemplo. No nosso caso, criaremos o banco de dados chamado PessoasDb. Nela criaremos uma tabela chamada Pessoas. Para tanto, devem ser dadas algumas instruções ao MySQL. Isto pode ser feito via interface amigável (PHPMYADMIN, por exemplo), ou pela linha de comando. Segue abaixo estas instruções (É mais fácil fazer isso via interface do PHPMYADMIN, pois, irá te poupar ter que executar os comandos abaixo manualmente):


  CREATE DATABASE PessoasDb; // Comando para criação da base de dados
  CREATE TABLE Pessoas(
    id int not null auto_increment,
    nome varchar(30),
    sobrenome varchar(10),
    idade int,
    sexo char(1) enum('M','F'),
    profissao varchar(30)
  ); 
    // Acima comando sql para criação da tabela Pessoas

Tendo a base de dados e a tabela criada, vamos criar a página que irá gravar as informações em base de dados.

  <?php

  // Primeiramente, iremos criar uma conexão ativa com a base de dados PessoasDb
   $server = "localhost";
   $user = "root";
   $pass = "";
   $con = mysql_connect($server,$user,$pass); /* O Servidor de banco de dados se chama localhost, quando o mesmo fica na própria máquina
   Para se estabelecer uma conexão com algum banco de dados, é necessário que algum usuário do sistema o acesse. No nosso caso, é o root, administrador do banco de dados. Por padrão, ele não tem senha
 */  
   mysql_select_db("PessoasDb",$con); // Agora nós fazemos a conexão ativa ficar apontada para a base de dados PessoasDb. Sendo assim, toda instrução SQL será utilizada nesta base de dados

  // Jogando nas variáveis os  valores recebidos pelo formulário
  $nome = $_REQUEST['nome'];
  $sobrenome = $_REQUEST['sobrenome'];
  $sexo = $_REQUEST['sexo'];
  $idade = $_REQUEST['idade'];
  $profissao = $_REQUEST['profissao'];

  // Inserindo as informações em base de dados
  mysql_query("INSERT INTO Pessoas (nome,sobrenome,sexo,idade,profissao) values ('$nome','$sobrenome','$sexo','$idade','$profissao')");

Agora faça o teste. Quando fizer um cadastro, acesse a base de dados para ver se o que voçê digitou foi inserido na base de dados ou não. Ao se conectar, executa a seguinte instrução SQL: "Select * from Pessoas". O '*' significa todas as colunas. Nos próximos posts, ensinarei como fazer consultas e listagens com PHP.