PHP 7 MySQL
Published: 2020-08-25 00:15:21

Com o PHP, você pode se conectar e manipular bancos de dados. O MySQL é o sistema de banco de dados mais popular usado com o PHP.

Os dados em um banco de dados MySQL são armazenados em tabelas. Uma tabela é uma coleção de dados relacionados e consiste em colunas e linhas. Bancos de dados são úteis para armazenar informações categoricamente. Uma empresa pode ter um banco de dados com as seguintes tabelas:

* Funcionários
* Produtos
* Clientes
* Encomendas

### Sistema de banco de dados PHP + MySQL
O PHP combinado com o MySQL é multi-plataforma (você pode desenvolver no Windows e servir em uma plataforma Unix)

### Download do banco de dados MySQL
Se você não tem um servidor PHP com um banco de dados MySQL, você pode baixá-lo gratuitamente aqui: http://www.mysql.com

### Conecte-se ao MySQL com PHP
O PHP 5 e posterior podem trabalhar com um banco de dados MySQL usando:

* Extensão MySQLi (o “i” significa melhorado)
* PDO (PHP Data Objects)

Versões anteriores do PHP usavam a extensão MySQL. No entanto, essa extensão foi suspensa em 2012.

### Instalação MySQLi
Para Linux e Windows: A extensão MySQLi é instalada automaticamente na maioria dos casos, quando o pacote php5 mysql é instalado.

Para detalhes de instalação, acesse: http://php.net/manual/en/mysqli.installation.php

### Instalação PDO
Para detalhes de instalação, vá para: http://php.net/manual/en/pdo.installation.php

### Abra uma conexão com o MySQL
Antes de podermos acessar os dados no banco de dados MySQL, precisamos nos conectar ao servidor:

### Exemplo (orientado a objeto do MySQLi)
```php
 <?php
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
?>
```
PHP é uma linguagem incrível e popular!

Note no exemplo orientado a objetos acima: $connect_error foi quebrado até o PHP 5.2.9 e 5.3.0. Se você precisa garantir compatibilidade com versões do PHP anteriores a 5.2.9 e 5.3.0, use o seguinte código:

```php
// Check connection
if (mysqli_connect_error()) {
    die("Database connection failed: " . mysqli_connect_error());
}
```

### Exemplo (MySQLi Procedural)
```php
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
```

### Exemplo (PDO)
```php
<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>
```

Nota: No exemplo acima, nós também especificamos um banco de dados (myDB). O PDO requer um banco de dados válido para se conectar. Se nenhum banco de dados for especificado, uma exceção será lançada.

Dica: Um grande benefício do PDO é que ele possui uma classe de exceção para lidar com qualquer problema que possa ocorrer em nossas consultas ao banco de dados. Se uma exceção for lançada dentro do bloco try {}, o script para de executar e flui diretamente para o primeiro bloco catch () {}.

### Feche a conexão
A conexão será fechada automaticamente quando o script terminar. Para fechar a conexão antes, use o seguinte:

Exemplo (orientado a objeto do MySQLi)
```php
$conn->close();
```

Exemplo (MySQLi Procedural)
```php
mysqli_close($conn);
```

Exemplo (PDO)
```php
$conn = null;
```