Maison > développement back-end > Problème PHP > Y a-t-il une différence entre la manière dont PHP se connecte à MySQL ?

Y a-t-il une différence entre la manière dont PHP se connecte à MySQL ?

WBOY
Libérer: 2023-03-15 20:30:01
original
2707 Les gens l'ont consulté

Différences : 1. PDO est utilisé dans 12 bases de données différentes, tandis que MySQLi n'est utilisé que dans la base de données mysql ; 2. PDO ferme la connexion dans "$conn = null", tandis que MySQLi ferme la connexion dans "$conn- >close ()" ou "mysqli_close()".

Y a-t-il une différence entre la manière dont PHP se connecte à MySQL ?

L'environnement d'exploitation de cet article : système Windows 10, PHP version 7.1, ordinateur Dell G3.

Y a-t-il une différence entre la manière dont PHP se connecte à MySQL ?

Après la version php5.3, il existe deux façons de se connecter à la base de données, l'une via MySQLi, l'autre via PDO et l'autre via PDO. mysqli La base de données peut également être divisée en deux situations : mysqli (orienté objet), mysqli (orienté processus).
Soit trois manières :
1) PDO se connecte à mysql
2) mysqli (orienté objet) se connecte à. la base de données
3) mysqli (orienté Process) pour se connecter à la base de données
(En fait, il existe une autre méthode de connexion : utiliser l'extension MySQL. Mais cette extension n'est pas recommandée en 2012.)

Exemple de connexion PDO

Vous pouvez d'abord vérifier votre php via la commande phpinfo() Si PDO a été installé (j'utilise php7, il est déjà installé par défaut)
Sinon, veuillez vous référer à la page Web : http://php.net/manual/ fr/pdo.installation.php
Y a-t-il une différence entre la manière dont PHP se connecte à MySQL ?
Exemple de code :

<?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();
}
?>
Copier après la connexion

(Lors de l'utilisation, veuillez faire attention à changer le nom d'utilisateur et le mot de passe de la base de données, ainsi que le nom de la base de données sélectionnée (nom de base de données)

mysqli (orienté objet ) exemple de connexion

Vous pouvez d'abord vérifier si votre php a été installé via la commande phpinfo() mysqli (j'utilise php7, il est déjà installé par défaut)
S'il n'est pas installé, référez-vous à la page web : http:/ /php.net/manual/en/mysqli.installation.php
Y a-t-il une différence entre la manière dont PHP se connecte à MySQL ?
Exemple de code :

<?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 "连接成功";
?>
Copier après la connexion

mysqli (orienté processus) se connectant à la base de données

Exemple de code :

<?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 "连接成功";
?>
Copier après la connexion

Différences entre les trois :

1. Comment fermer la connexion :
PDO:

$conn = null;
Copier après la connexion

MySQLi (orienté objet):

$conn->close();
Copier après la connexion

MySQLi (orienté processus):

mysqli_close($conn);
Copier après la connexion
  • PDO est appliqué dans 12 bases de données différentes, MySQLi est uniquement pour la base de données MySQL
  • Si votre projet doit basculer entre plusieurs bases de données, il est recommandé d'utiliser PDO, de sorte qu'il vous suffit de modifier la chaîne de connexion et d'utiliser simplement les instructions de requête du département. Si vous utilisez MySQLi, vous devez réécrire tous les codes. , y compris les requêtes.
  • Les deux sont orientés objet, mais MySQLi fournit également des interfaces API
  • Les deux prennent en charge les instructions préparées peuvent empêcher l'injection SQL, ce qui est très important pour la sécurité des projets Web
    La différence entre les requêtes préparées. MySQLi orienté et orienté processus :
    De nombreux programmeurs PHP ne sont pas habitués à la programmation orientée objet, c'est pourquoi la bibliothèque de classes mysqli fournit cette méthode qui leur est destinée. Elle est également pratique pour certains utilisateurs qui utilisent l'extension mysql pour migrer rapidement vers. mysqli. En fait, mysqli_query() est une encapsulation du processus d'appel orienté objet.

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal