Resumo : neste tutorial, você aprenderá como criar um novo banco de dados de amostra em MySQL para praticar com PDO.
Criando um banco de dados
Primeiro, faça login no banco de dados MySQL usando o root
usuário do Prompt de Comando no Windows ou Terminal no macOS e Linux:
mysql -u root
Linguagem de código: Sessão Shell ( shell )
E você solicitará uma senha; digite a senha do root
usuário e você estará conectado ao servidor MySQL.
Em seguida, crie o bookdb
banco de dados executando a seguinte CREATE DATABASE
instrução:
CREATE DATABASE IF NOT EXISTS bookdb;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Em seguida, selecione no bookdb
banco de dados:
USE bookdb;
Linguagem de código: PHP ( php )
Depois disso, execute a seguinte CREATE TABLE
instrução para criar a publishers
tabela:
CREATE TABLE IF NOT EXISTS publishers (
publisher_id INT AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
PRIMARY KEY (publisher_id)
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Por fim, execute a seguinte CREATE TABLE
instrução para criar a books
tabela:
CREATE TABLE IF NOT EXISTS books (
book_id INT AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
isbn VARCHAR(13) NULL,
published_date DATE NULL,
publisher_id INT NULL,
PRIMARY KEY (book_id),
CONSTRAINT fk_publisher FOREIGN KEY (publisher_id)
REFERENCES publishers (publisher_id)
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Conectando-se ao banco de dados bookdb do PHP
Primeiro, crie um config.php
arquivo para armazenar os parâmetros do banco de dados:
<?php
$host = 'localhost';
$db = 'bookdb';
$user = 'root';
$password = '';
Linguagem de código: HTML, XML ( xml )
Segundo, crie um novo connect.php
arquivo que se conecte ao bookdb
banco de dados:
<?php
require 'config.php';
$dsn = "mysql:host=$host;dbname=$db;charset=UTF8";
try {
$options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
$conn = new PDO($dsn, $user, $password, $options);
if ($conn) {
echo "Connected to the $db database successfully!";
}
} catch (PDOException $e) {
echo $e->getMessage();
}
Linguagem de código: HTML, XML ( xml )
Para torná-lo mais reutilizável, você pode definir uma função chamada connect()
que retorne uma nova conexão com o banco de dados e retorne-a do connect.php
arquivo:
<?php
require_once 'config.php';
function connect($host, $db, $user, $password)
{
$dsn = "mysql:host=$host;dbname=$db;charset=UTF8";
try {
$options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
return new PDO($dsn, $user, $password, $options);
} catch (PDOException $e) {
die($e->getMessage());
}
}
return connect($host, $db, $user, $password);
Linguagem de código: HTML, XML ( xml )
Para obter a conexão do banco de dados em outros arquivos de script, você usa a require
construção assim:
<?php
$pdo = require 'connect.php';
var_dump($pdo);
Linguagem de código: HTML, XML ( xml )
A require
construção carrega o connect.php
arquivo e retorna a nova instância do PDO retornada pela connect()
função.
Usando a abordagem baseada em classe
Para usar uma classe em vez de uma função para criar uma nova conexão de banco de dados, siga estas etapas:
Primeiro, crie um novo arquivo chamado Connection.php
e defina a Connection
classe:
<?php
require_once 'config.php';
class Connection
{
public static function make($host, $db, $user, $password)
{
$dsn = "mysql:host=$host;dbname=$db;charset=UTF8";
try {
$options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
return new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
die($e->getMessage());
}
}
}
return Connection::make($host, $db, $user, $password);
Linguagem de código: HTML, XML ( xml )
A Connection
classe possui o make()
método que retorna uma nova instância do PDO.
Segundo, use o Connection.php
arquivo em outros arquivos de script da seguinte maneira:
<?php
$pdo = require 'Connection.php';
var_dump($pdo);
Linguagem de código: HTML, XML ( xml )
Neste tutorial, você aprendeu como criar o bookdb
banco de dados no servidor MySQL e desenvolveu um script reutilizável para conectar o banco de dados.