close" ( )" ou "mysqli_close()"."/> close" ( )" ou "mysqli_close()".">

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
WBOYoriginal
2022-04-26 17:38:582704parcourir

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();
}
?>

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

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

Différences entre les trois :

1. Comment fermer la connexion :
PDO:

$conn = null;

MySQLi (orienté objet):

$conn->close();

MySQLi (orienté processus):

mysqli_close($conn);
  • 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!

Déclaration:
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