Rumah > pembangunan bahagian belakang > masalah PHP > Adakah terdapat perbezaan antara cara php menyambung ke mysql?

Adakah terdapat perbezaan antara cara php menyambung ke mysql?

WBOY
Lepaskan: 2023-03-15 20:30:01
asal
2710 orang telah melayarinya

Perbezaan: 1. PDO digunakan dalam 12 pangkalan data yang berbeza, manakala MySQLi hanya digunakan dalam pangkalan data mysql 2. PDO menutup sambungan dengan "$conn = null", manakala MySQLi menutup sambungan dengan "$ conn->close()" atau "mysqli_close()".

Adakah terdapat perbezaan antara cara php menyambung ke mysql?

Persekitaran pengendalian artikel ini: sistem Windows 10, PHP versi 7.1, komputer Dell G3.

Adakah terdapat perbezaan antara cara PHP menyambung ke mysql

Selepas versi php5.3, terdapat dua cara untuk menyambung ke pangkalan data, satu melalui mysqli, dan satu lagi adalah Menyambung? ke pangkalan data melalui PDO dan mysqli juga boleh dibahagikan kepada dua situasi: mysqli (berorientasikan objek), mysqli (berorientasikan proses
Iaitu, tiga cara:
1) PDO menyambung ke mysql
). 2 ) mysqli (berorientasikan objek) menyambung ke pangkalan data
3) mysqli (berorientasikan proses) menyambung ke pangkalan data
(Malah, terdapat kaedah sambungan lain: menggunakan sambungan MySQL. Walau bagaimanapun, sambungan ini adalah tidak disyorkan untuk digunakan sejak 2012.)

Contoh sambungan PDO

Anda boleh menyemak dahulu sama ada php anda telah memasang PDO melalui arahan phpinfo() (saya menggunakan php7, ia sudah dipasang secara lalai)
Jika ia tidak dipasang, rujuk halaman web: http://php.net/manual/en/pdo.installation.php
Adakah terdapat perbezaan antara cara php menyambung ke mysql?
Contoh kod:

<?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();
}
?>
Salin selepas log masuk

(sila gunakannya apabila menggunakan Beri perhatian kepada menukar nama pengguna dan kata laluan pangkalan data, dan nama pangkalan data yang dipilih (nama db)

sambungan mysqli (berorientasikan objek) instance

boleh dilihat melalui arahan phpinfo() dahulu Adakah mysqli dipasang dalam php anda (saya menggunakan php7, ia sudah dipasang secara lalai)
Jika tidak, sila rujuk halaman web : http://php.net/manual/en/mysqli.installation.php
Adakah terdapat perbezaan antara cara php menyambung ke mysql?
Contoh kod:

<?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 "连接成功";
?>
Salin selepas log masuk

pangkalan data penyambung mysqli (berorientasikan proses)

Contoh kod:

<?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 "连接成功";
?>
Salin selepas log masuk

Perbezaan antara ketiga-tiga:

Cara menutup sambungan:
PDO:

$conn = null;
Salin selepas log masuk

MySQLi (berorientasikan objek):

$conn->close();
Salin selepas log masuk

MySQLi (Berorientasikan proses):

mysqli_close($conn);
Salin selepas log masuk
  • PDO digunakan dalam 12 pangkalan data yang berbeza, MySQLi hanya untuk pangkalan data MySQL jika projek anda perlu bertukar antara berbilang pangkalan data, supaya anda hanya perlu mengubah suai rentetan sambungan dan pernyataan pertanyaan jabatan. Jika anda menggunakan MySQLi, anda perlu menulis semula semua kod, termasuk pertanyaan >Kedua-duanya berorientasikan objek, tetapi MySQLi juga menyediakan antara muka API
  • Kedua-dua pernyataan yang disediakan boleh menghalang suntikan SQL dan sangat penting untuk keselamatan projek web 🎜>
  • Perbezaan antara berorientasikan objek MySQLi dan berorientasikan proses:
  • Ramai pengaturcara PHP tidak digunakan untuk pengaturcaraan berorientasikan objek, jadi perpustakaan kelas mysqli menyediakan kaedah ini untuk mereka gunakan. Ini juga memudahkan sesetengah pengguna yang menggunakan sambungan mysql untuk berhijrah ke mysqli dengan cepat. Sebenarnya, mysqli_query() ialah enkapsulasi proses panggilan berorientasikan objek.

  • Pembelajaran yang disyorkan: "Tutorial Video PHP
    "

Atas ialah kandungan terperinci Adakah terdapat perbezaan antara cara php menyambung ke mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan