4

Conexão com banco de dados para iniciantes (PDO)

#PHP #MySQL
Alessandro Araújo
Alessandro Araújo

Introdução

Durante seus estudos sobre programação, os desenvolvedores podem obter certa quantidade de dados a partir de suas aplicações.


Perante a essa situação, surge um obstáculo: Como armazenar as informações obtidas em um banco de dados? Seria necessário ir até o banco e adicionar manualmente?


A resposta é não!


Veremos, a seguir, como se conectar a um banco de dados com PDO, além de observar um pequeno exemplo de inserção de dados em um banco de dados criado na própria máquina.


O que é PDO?

O PHP Data Object (Objeto de dados PHP) é uma extensão da linguagem PHP que possibilita a conexão com bancos de dados e a manipulação deles de forma fácil e eficiente.


Dentre as principais vantagens de se utilizar PDO, destacam-se a grande variedade de recursos disponíveis e o suporte a diversos tipos de bancos de dados.


Como realizar a conexão utilizando PDO?

Sendo PDO uma classe, devemos criar uma instância dela para poder utilizá-la corretamente. Para fazer isso, devemos utilizar o operador new.


Primeiramente, devemos escolher uma variável para "armazenar" essa instância. Para facilitar, podemos criar uma variável chamada connection.


$connection = new PDO();


Porém não podemos nos conectar sem passar alguns parâmetros durante essa declaração, cujos valores são:


1) DSN - Consiste no nome do "tipo" de banco de dados (mySQL, por exemplo), seguida da "URI que define a localização de um arquivo contendo a string DSN" (como diz a documentação oficial), que pode ser "localhost" no caso de um servidor criado na sua própria máquina (e também dos servidores de algumas empresas de hospedagem de sites). Além disso, é necessário informar o nome do banco de dados.


2) Nome de usuário do banco de dados (se estiver utilizando o XAMPP para criar um servidor, por padrão, o usuário é root. Se não, tente consultar a empresa de hospedagem onde seu site/aplicação está hospedada).


3) Senha do banco de dados.


No caso da utilização do XAMPP, a declaração deveria ser feita, por padrão, desta forma:


$connection = new PDO("mysql:localhost;dbname=nomedobanco", "root", "");


Exemplo de inserção de dados

Em primeiro lugar, devemos escolher o comando SQL que queremos executar. Suponha que desejamos inserir valores em uma tabela chamada "dados", com os campos "id" e "dado1".


Armazenaremos nosso comando em uma variável:

$sql = "insert into dados(id, dado1) values (?, ?)";


Não devemos colocar os dados a serem inseridos diretamente dentro dos parênteses do values. Por segurança, devemos nos prevenir utilizando o método prepare da classe PDO (cuja instância armazenamos na variável connection).


Armazenaremos o resultado do método em outra variável:

$prepare = $connection->prepare($sql);


Continuando pelo processo mais seguro, informaremos os valores de inserção da seguinte forma (suponha que tenhamos recebido os valores pelo método POST):


$prepare->bindParam(1, $_POST["id"]);
$prepare->bindParam(2, $_POST["dado1"]);


(Os valores devem ser informados exatamente na ordem dos campos anteriormente indicados - id e dado1 - adaptando, é claro, para a situação que desejarmos).


Por último, só precisamos executar o comando com:

$prepare->execute();


Todo esse processo nos ajuda a combater possíveis invasões, como por meio de SQL injection, por exemplo.


Caso desejar, você pode obter o número de linhas afetadas com esse método:

$prepare->rowCount();


Cujo resultado pode ser armazenado em uma variável.


Finalizando...

Você também pode conferir a documentação oficial da classe PDO através do seguinte link.


Obrigado por ler este artigo!

Se souber de mais informações úteis, você pode compartilhar conosco por meio dos comentários.


Caso queira entrar em contato, deixo alguns links abaixo para este fim:

Linkedin

Twitter

3
72

Comentários (5)

1
Maxwell Barboza

Maxwell Barboza

05/05/2021 10:50

Top o artigo. Parabéns!

1
M

Mizael Azevedo

02/05/2021 19:44

Parabéns!

0
Alessandro Araújo

Alessandro Araújo

01/05/2021 20:34

Obrigado pela interação, pessoal (0 - 0)

1
Alex Silva

Alex Silva

01/05/2021 20:13

Parabéns pelo artigo. Direto ao assunto e sem rodeios.

1
W

Wildson Ribeiro

01/05/2021 19:25

Muito bom,obrigado!


Sou um jovem em busca de conhecimento.

Brasil