Tres formas en que PHP se conecta a la base de datos (Mysql) y sus diferencias

Prefacio:

Después de la versión php5.3, hay dos formas de conectarse a la base de datos, una es a través de mysqli, la otra es a través de PDO, y la conexión a la base de datos a través de mysqli también se puede dividir en dos situaciones: mysqli (orientado a objetos) , mysqli (orientado a procesos).
Es decir, tres formas:
1) PDO para conectarse a mysql
2) mysqli (orientado a objetos) para conectarse a la base
de datos 3) mysqli (orientado a procesos) para conectarse a la base de datos
(De hecho, también hay un método de conexión: use la extensión MySQL. Pero esto No se recomiendan extensiones desde 2012.)

Ejemplo de conexión PDO

Primero puede verificar si su php tiene PDO instalado a través del comando phpinfo () (usé php7, que ya está instalado por defecto)
si no está instalado, consulte la página web: http://php.net/manual/en/pdo.
Inserte la descripción de la imagen aquí
Ejemplo 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();
}
?>

(Preste atención para cambiar el nombre de usuario y la contraseña de la base de datos cuando la use, y el nombre de la base de datos seleccionada (dbname)

Ejemplo de conexión mysqli (orientada a objetos)

Primero puede verificar si su php tiene mysqli instalado a través del comando phpinfo () (usé php7, que ya está instalado por defecto)
si no está instalado, consulte la página web: http://php.net/manual/en/mysqli.
Inserte la descripción de la imagen aquí
Ejemplo 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 a procesos) para conectarse a la base de datos

Ejemplo 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 "连接成功";
?>

La diferencia entre los tres:

1. La forma de cerrar la conexión:
PDO:

$conn = null;

MySQLi (orientado a objetos):

$conn->close();

MySQLi (orientado a procesos):

mysqli_close($conn);
  • PDO se utiliza en 12 bases de datos diferentes, MySQLi solo se dirige a bases de datos MySQL.
  • Si su proyecto necesita cambiar entre varias bases de datos, se recomienda utilizar PDO, por lo que solo necesita modificar la cadena de conexión y la declaración de consulta del departamento. Con MySQLi, si tiene una base de datos diferente, debe volver a escribir todo el código, incluidas las consultas.
  • Ambos están orientados a objetos, pero MySQLi también proporciona una interfaz API.
  • Ambos apoyan declaraciones preparadas. Las declaraciones preparadas pueden evitar la inyección de SQL, lo cual es muy importante para la seguridad de los proyectos web.
    La diferencia entre MySQLi orientado a objetos y orientado a procesos:
    muchos programadores PHP no están acostumbrados a la programación bai orientada a objetos, por lo que la biblioteca de clases mysqli proporciona el método du para que lo usen. Esto también es conveniente para algunos usuarios que usan la extensión mysql para migrar rápidamente a mysqli. De hecho, mysqli_query () encapsula internamente el proceso de llamada orientado a objetos.

Supongo que te gusta

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