Tutorial PHP

PHP INÍCIO Introdução ao PHP Instalação do PHP Sintaxe PHP Comentários PHP Variáveis ​​PHP PHP Eco/Impressão Tipos de dados PHP Strings PHP Números PHP Matemática PHP Constantes PHP Operadores PHP PHP If...Else...Elseif Chave PHP Loops PHP Funções PHP Matrizes PHP PHP Superglobais PHP RegEx

Formulários PHP

Manipulação de formulários PHP Validação de formulário PHP Formulário PHP obrigatório URL/e-mail do formulário PHP Formulário PHP completo

PHP Avançado

Data e hora do PHP Incluir PHP Manipulação de arquivos PHP Arquivo PHP Abrir/Ler Arquivo PHP Criar/Gravar Upload de arquivo PHP Cookies PHP Sessões PHP Filtros PHP Filtros PHP Avançados Funções de retorno de chamada do PHP PHP JSON Exceções do PHP

PHP OOP

PHP O que é POO Classes/objetos PHP Construtor PHP Destruidor PHP Modificadores de acesso PHP Herança PHP Constantes PHP Classes abstratas PHP Interfaces PHP Características PHP Métodos estáticos PHP Propriedades estáticas do PHP Namespaces PHP Iteráveis ​​PHP

Banco de dados MySQL

Banco de dados MySQL MySQL Connect MySQL Criar banco de dados MySQL Criar Tabela Dados de inserção do MySQL MySQL Obter Último ID MySQL Inserir Múltiplo Preparado para MySQL Dados de seleção do MySQL MySQL Onde MySQL Ordenar por Dados de exclusão do MySQL Dados de atualização do MySQL Dados de limite do MySQL

PHP XML

Analisadores XML PHP Analisador PHP SimpleXML PHP SimpleXML - Obter PHP XML Expatriado PHP XML DOM

PHP - AJAX

Introdução AJAX PHP AJAX Banco de dados AJAX XML AJAX Pesquisa em tempo real AJAX Enquete AJAX

Exemplos PHP

Exemplos PHP Compilador PHP Teste PHP Exercícios PHP Certificado PHP

Referência PHP

Visão geral do PHP Matriz PHP Calendário PHP Data do PHP Diretório PHP Erro PHP Exceção PHP Sistema de arquivos PHP Filtro PHP PHP FTP PHP JSON Palavras-chave PHP PHP Libxml Correio PHP Matemática PHP PHP Diversos PHP MySQLi Rede PHP Controle de saída PHP PHP RegEx PHP SimpleXML Fluxo PHP String PHP Manipulação de variáveis ​​PHP Analisador XML PHP PHP Zip Fusos horários PHP

PHP Conectar ao MySQL


PHP 5 e posterior podem trabalhar com um banco de dados MySQL usando:

  • Extensão MySQLi (o "i" significa melhorado)
  • PDO (objetos de dados PHP)

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


Devo usar MySQLi ou PDO?

Se você precisar de uma resposta curta, seria "O que você quiser".

Tanto o MySQLi quanto o PDO têm suas vantagens:

O PDO funcionará em 12 sistemas de banco de dados diferentes, enquanto o MySQLi funcionará apenas com bancos de dados MySQL.

Portanto, se você precisar mudar seu projeto para usar outro banco de dados, o PDO facilita o processo. Você só precisa alterar a string de conexão e algumas consultas. Com o MySQLi, você precisará reescrever todo o código - consultas incluídas.

Ambos são orientados a objetos, mas o MySQLi também oferece uma API procedural.

Ambos suportam Declarações Preparadas. Declarações preparadas protegem contra injeção de SQL e são muito importantes para a segurança de aplicações web.


Exemplos MySQL em Sintaxe MySQLi e PDO

Neste, e nos capítulos seguintes, demonstramos três maneiras de trabalhar com PHP e MySQL:

  • MySQLi (orientado a objetos)
  • MySQLi (procedimento)
  • DOP

Instalação do 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 do DOP

Para detalhes de instalação, acesse: 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 Objetos MySQLi)

<?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";
?>

Nota sobre o exemplo orientado a objetos acima:

$connect_error estava quebrado até o PHP 5.2.9 e 5.3.0. Se você precisar garantir a compatibilidade com versões do PHP anteriores a 5.2.9 e 5.3.0, use o seguinte código:

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

Exemplo (procedimento MySQLi)

<?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 (DOP)

<?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 de PDO acima 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 tratar quaisquer problemas que possam ocorrer em nossas consultas ao banco de dados. Se uma exceção for lançada no bloco try{ }, o script interromperá a execução e fluirá 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:

Orientado a Objetos MySQLi:

$conn->close();

Procedimento MySQLi:

mysqli_close($conn);

DOP:

$conn = null;