PHP DOP MySQL

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 rootusuário do Prompt de Comando no Windows ou Terminal no macOS e Linux:

mysql -u rootLinguagem de código:  Sessão Shell  ( shell )

E você solicitará uma senha; digite a senha do rootusuário e você estará conectado ao servidor MySQL.

Em seguida, crie o bookdbbanco de dados executando a seguinte CREATE DATABASEinstrução:

CREATE DATABASE IF NOT EXISTS bookdb;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Em seguida, selecione no bookdbbanco de dados:

USE bookdb;Linguagem de código:  PHP  ( php )

Depois disso, execute a seguinte CREATE TABLEinstrução para criar a publisherstabela:

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 TABLEinstrução para criar a bookstabela:

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.phparquivo 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.phparquivo que se conecte ao bookdbbanco 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.phparquivo:

<?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 requireconstrução assim:

<?php

$pdo = require 'connect.php';

var_dump($pdo);Linguagem de código:  HTML, XML  ( xml )

A requireconstrução carrega o connect.phparquivo 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.phpe defina a Connectionclasse:

<?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 Connectionclasse possui o make()método que retorna uma nova instância do PDO.

Segundo, use o Connection.phparquivo 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 bookdbbanco de dados no servidor MySQL e desenvolveu um script reutilizável para conectar o banco de dados.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *