Aulas PHP - aula 3 - Trabalhando com Banco de Dados MySQL.
Você provavelmente acha que é cedo começar a terceira aula com trabalhos em Banco de Dados MySQL. Mas acredite, não é. Estudar PHP como uma linguagem de programação web e não estudar seu trabalho com BD é a mesma coisa que ter um computador sem internet. Sim, você pode trabalhar nesse computador, mas não há lugar para obter informações. Então vamos apertar os dentes e começar a escrever consultas SQL para o BD, mesmo que não saibamos nada sobre a linguagem SQL.
SQL (Structured Query Language — "linguagem de consultas estruturadas") — linguagem de computador universal aplicada para criar, modificar e gerenciar dados em bancos de dados tabulares. O SQL é baseado em cálculo de registros em tabelas.
PHP pode trabalhar com muitos bancos de dados: MySQL, PostreSQL, Oracle e muitos outros. Estudaremos como trabalhar com mysql porque essa combinação é muito popular na criação de sites. Ao mesmo tempo, aprender a trabalhar com MySQL permitirá que você trabalhe com outros BDs no futuro também, porque SQL é uma linguagem universal e sua sintaxe é praticamente a mesma em todos os BDs tabulares.
MySQL — sistema livre de gerenciamento de banco de dados (SGBD). MySQL é propriedade da empresa Oracle Corporation, que a adquiriu ao absorver a Sun Microsystems, que desenvolve e oferece suporte ao aplicativo. Distribuído sob a Licença Pública Geral GNU ou sob sua própria licença comercial.
Teremos muitas aulas sobre SQL. Por enquanto vamos começar com o simples: como conectar um BD. Para fazer isso, vamos criar outro método para nossa classe simpleCMS:
public function connectDB() {
}
Isso nos permitirá chamar a conexão com o BD a partir de qualquer ponto do código onde já temos um objeto de nossa classe. Isso é muito conveniente.
Também precisaremos de variáveis do servidor MySQL, usuário do BD e nome do BD:
class simpleCMS {
public $host = 'localhost';
public $username = 'root';
public $password = '';
Definiremos essas variáveis por padrão, caso nos esqueçamos de defini-las. Uso Denver, então tenho essas configurações de MySQL. Se você não usar Denver, mas hospedagem ou um servidor dedicado para seu site, você deve usar seu usuário MySQL.
Agora vamos usar a função mysql_connect() para criar uma conexão com o MySQL.
public function connectDB() {
$link = mysql_connect($this->host, $this->username, $this->password);
if (!$link) {
die('Erro de conexão: ' . mysql_error());
}
return $link;
}
Agora vamos entender como funciona a função mysql_connect(). Começamos dizendo que a função precisa receber três parâmetros: nome do servidor BD, usuário BD, senha do usuário BD. A seguir vem a função die, o que significa que uma mensagem de erro será exibida se a conexão não for estabelecida. As variáveis $this->host, $this->username, $this->password são referências às propriedades das classes. Elas são definidas por padrão em nossa classe, então são passadas imediatamente e não precisam ser definidas no método connectDB().
A função mysql_connect retorna uma variável de conexão $link do tipo resource, assim como resource de arquivo, resource de pasta, então precisaremos fechar essa conexão após terminar de usá-la para liberar memória. Você pode remover a mensagem de sucesso de conexão.
Agora vamos chamar nosso método no início do arquivo index.php, logo após incluir o arquivo de classe:
$obj = new simpleCMS(); // criamos um objeto da classe de gerenciamento $db_connection = $obj->connectDB();
Em qualquer lugar onde precisarmos conectar o BD, conectaremos o arquivo com nossa classe, criaremos um objeto e depois chamaremos o método de conexão ao BD. Como você pode ver, não há nada complicado em trabalhar com BD.
Como criamos uma conexão, precisamos fechá-la ao terminar. Fecharemos a conexão através da função mysql_close(). Não vou criar outro método para fechar a conexão (embora isso deva ser feito quando houver necessidade). Então vou apenas adicionar o código:
include_once('class/simpleCMS.php'); // incluir arquivo com classe
$obj = new simpleCMS(); // criamos um objeto da classe de gerenciamento
$db_connection = $obj->connectDB(); //criação de conexão
//qualquer trabalho com BD
mysql_close($db_connection); // fechamos a conexão
Acho que expliquei claramente e já na próxima aula escreveremos consultas para o BD MySQL. Se algo não ficou claro, escreva nos comentários.