Três maneiras de conectar o PHP ao banco de dados (Mysql) e suas diferenças

Prefácio:

Após a versão php5.3, existem duas maneiras de se conectar ao banco de dados, uma é através do mysqli, a outra é através do PDO, e a conexão ao banco de dados através do mysqli também pode ser dividida em duas situações: mysqli (orientado a objetos) , mysqli (orientado a processos).
Ou seja, três maneiras:
1) PDO para se conectar a mysql
2) mysqli (orientado a objetos) para se conectar ao banco
de dados 3) mysqli (orientado a processos) para se conectar ao banco de dados
(na verdade, há também um método de conexão: use a extensão MySQL. Mas isso Extensões não são recomendadas desde 2012.)

Exemplo de conexão PDO

Você pode primeiro verificar se seu php tem PDO instalado através do comando phpinfo () (eu usei php7, que já vem instalado por padrão)
se não estiver instalado, consulte a página web: http://php.net/manual/en/pdo.
Insira a descrição da imagem aqui
Exemplo de código Installation.php :

<?php
$servername = "localhost";
$username = "root";
$password = "root";
try {
    
    
    $conn = new PDO("mysql:host=$servername;dbname=jtsys",
        $username, $password);
    echo "连接成功";
}
catch(PDOException $e)
{
    
    
    
    echo $e->getMessage();
}
?>

(Por favor, preste atenção para alterar o nome de usuário e senha do banco de dados ao usar, e o nome do banco de dados selecionado (dbname)

Exemplo de conexão mysqli (orientada a objetos)

Você pode primeiro verificar se seu php tem mysqli instalado através do comando phpinfo () (eu usei php7, que já vem instalado por padrão)
se não estiver instalado, consulte a página web: http://php.net/manual/en/mysqli.
Insira a descrição da imagem aqui
Exemplo de código Installation.php :

<?php
$servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn =
new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
    
    
    die("连接失败: " . $conn->connect_error);
}
$dbname="jtsys";
mysqli_select_db($conn,$dbname);
echo "连接成功";
?>

mysqli (orientado ao processo) para conectar ao banco de dados

Exemplo de código:

<?php
$servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn = mysqli_connect($servername, 
$username, $password);
// 检测连接
if (!$conn) {
    
    
    die("Connection 
failed: " . mysqli_connect_error());
}
$dbname="jtsys";
mysqli_select_db($conn,$dbname);
echo "连接成功";
?>

A diferença entre os três:

1. A forma de fechar a conexão:
PDO:

$conn = null;

MySQLi (Orientado a Objetos):

$conn->close();

MySQLi (orientado para o processo):

mysqli_close($conn);
  • PDO é usado em 12 bancos de dados diferentes, o MySQLi visa apenas bancos de dados MySQL.
  • Se o seu projeto precisar alternar entre vários bancos de dados, é recomendável usar PDO, portanto, você só precisa modificar a string de conexão e a instrução de consulta do departamento. Com o MySQLi, se você tiver um banco de dados diferente, precisará reescrever todo o código, incluindo as consultas.
  • Ambos são orientados a objetos, mas o MySQLi também fornece uma interface API.
  • Ambos apóiam declarações preparadas. As instruções preparadas podem evitar a injeção de SQL, que é muito importante para a segurança de projetos da web.
    A diferença entre MySQLi orientado a objetos e orientado a processos:
    muitos programadores de PHP não estão acostumados com a programação bai orientada a objetos, portanto, a biblioteca de classes mysqli fornece o método du para eles usarem. Isso também é conveniente para alguns usuários que usam a extensão mysql para migrar rapidamente para o mysqli. Na verdade, mysqli_query () encapsula internamente o processo de chamada orientado a objetos.

Acho que você gosta

Origin blog.csdn.net/qq_45273552/article/details/109385470
Recomendado
Clasificación