Heim  >  Artikel  >  Backend-Entwicklung  >  Gibt es einen Unterschied zwischen der Art und Weise, wie PHP eine Verbindung zu MySQL herstellt?

Gibt es einen Unterschied zwischen der Art und Weise, wie PHP eine Verbindung zu MySQL herstellt?

WBOY
WBOYOriginal
2022-04-26 17:38:582661Durchsuche

Unterschiede: 1. PDO wird in 12 verschiedenen Datenbanken verwendet, während MySQLi nur in MySQL-Datenbanken verwendet wird. 2. PDO schließt die Verbindung in „$conn = null“, während MySQLi die Verbindung in „$conn- >close“ schließt ()“ oder „mysqli_close()“.

Gibt es einen Unterschied zwischen der Art und Weise, wie PHP eine Verbindung zu MySQL herstellt?

Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 7.1, Dell G3-Computer.

Gibt es einen Unterschied zwischen der Art und Weise, wie PHP eine Verbindung zu MySQL herstellt?

Nach der PHP5.3-Version gibt es zwei Möglichkeiten, eine Verbindung zur Datenbank herzustellen: eine über MySQL, die andere über PDO und die andere über die Verbindung mysqli Die Datenbank kann auch in zwei Situationen unterteilt werden: mysqli (objektorientiert), mysqli (prozessorientiert).
Das heißt, es gibt drei Möglichkeiten:
1) PDO stellt eine Verbindung zu MySQL her die Datenbank
3) mysqli (orientiert an Prozess) zur Verbindung mit der Datenbank
(Tatsächlich gibt es eine andere Verbindungsmethode: die Verwendung der MySQL-Erweiterung. Diese Erweiterung wird jedoch im Jahr 2012 nicht empfohlen.)

PDO-Verbindungsbeispiel

Sie können Ihr PHP zunächst mit dem Befehl phpinfo() überprüfen. Ob PDO installiert wurde (ich verwende PHP7, es ist bereits standardmäßig installiert)

Wenn nicht, schauen Sie bitte auf der Webseite nach: http://php.net/manual/ en/pdo.installation.php

Gibt es einen Unterschied zwischen der Art und Weise, wie PHP eine Verbindung zu MySQL herstellt? Codebeispiel:

<?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();
}
?>
(Bitte achten Sie bei der Verwendung darauf, den Datenbankbenutzernamen und das Passwort sowie den ausgewählten Datenbanknamen (dbname) zu ändern

mysqli (objektorientiert ) Verbindungsbeispiel

Sie können zunächst über den Befehl phpinfo() mysqli überprüfen, ob Ihr PHP installiert wurde (ich verwende PHP7, es ist bereits standardmäßig installiert)

Wenn es nicht installiert ist, lesen Sie die Webseite: http:/ /php.net/manual/en/mysqli.installation.php

Gibt es einen Unterschied zwischen der Art und Weise, wie PHP eine Verbindung zu MySQL herstellt? Codebeispiel:

<?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 (prozessorientiert) verbindet sich mit der Datenbank

Codebeispiel:

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

Unterschiede zwischen den dreien:

1. So schließen Sie die Verbindung: ​​PDO:

$conn = null;
MySQLi (objektorientiert):

$conn->close();
MySQLi (prozessorientiert):

mysqli_close($conn);
    PDO wird in 12 verschiedenen Datenbanken angewendet, MySQLi nur für MySQL-Datenbanken
  • Wenn Ihr Projekt zwischen mehreren Datenbanken wechseln muss, wird die Verwendung von PDO empfohlen, sodass Sie nur die Verbindungszeichenfolge ändern und Abteilungsabfrageanweisungen verwenden müssen. Wenn Sie MySQLi verwenden, müssen Sie alle Codes neu schreiben , einschließlich Abfragen.
  • Beide sind objektorientiert, aber MySQLi bietet auch API-Schnittstellen.
  • Beide unterstützen vorbereitete Anweisungen, was für die Sicherheit von Webprojekten sehr wichtig ist. orientiertes und prozessorientiertes MySQLi:

  • Viele PHP-Programmierer sind nicht an objektorientierte Programmierung gewöhnt, daher stellt die MySQL-Klassenbibliothek diese Methode zur Verfügung. Dies ist auch praktisch für einige Benutzer, die die MySQL-Erweiterung verwenden, um schnell zu migrieren mysqli. Tatsächlich ist mysqli_query() eine Kapselung des objektorientierten Aufrufprozesses.
    Empfohlenes Lernen: „
  • PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonGibt es einen Unterschied zwischen der Art und Weise, wie PHP eine Verbindung zu MySQL herstellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn