Manual belajar ...login
Manual belajar kendiri lengkap PHP
pengarang:php.cn  masa kemas kini:2022-04-15 13:53:54

Sambungan PHP MySQL




PHP 5 dan ke atas disyorkan untuk menggunakan kaedah berikut untuk menyambung ke MySQL:

  • sambungan MySQL ("i" bermaksud dipertingkatkan)

  • PDO (Objek Data PHP)

Dalam versi awal PHP kami menggunakan sambungan MySQL. Walau bagaimanapun, sambungan ini telah ditamatkan pada tahun 2012.


Perlukah saya menggunakan MySQLi atau PDO

Jika anda memerlukan jawapan ringkas, "gunakan mana-mana yang anda selesa".

MySQLi dan PDO mempunyai kelebihan tersendiri:

PDO digunakan dalam 12 pangkalan data yang berbeza, dan MySQLi hanya menyasarkan pangkalan data MySQL.

Jadi, jika projek anda perlu bertukar antara berbilang pangkalan data, adalah disyorkan untuk menggunakan PDO, supaya anda hanya perlu mengubah suai rentetan sambungan dan pernyataan pertanyaan jabatan. Dengan MySQLi, jika anda menggunakan pangkalan data yang berbeza, anda perlu menulis semula semua kod, termasuk pertanyaan.

Kedua-duanya berorientasikan objek, tetapi MySQLi juga menyediakan antara muka API.

Kedua-duanya menyokong kenyataan yang disediakan. Kenyataan yang disediakan boleh menghalang suntikan SQL dan sangat penting untuk keselamatan projek web.


MySQLi dan PDO menyambung ke contoh MySQL

Dalam bab ini dan bab-bab berikut, kami akan menggunakan tiga kaedah berikut untuk menunjukkan PHP mengendalikan MySQL:

  • MySQLi (berorientasikan objek)

  • MySQLi (berorientasikan prosedur)

  • PDO


Pemasangan MySQL

Linux dan Windows: Dalam kebanyakan kes, sambungan MySQLi dipasang secara automatik apabila pakej mysql php5 dipasang.

Untuk butiran pemasangan, sila semak: http://php.net/manual/en/mysqli.installation.php

Anda boleh menyemak sama ada pemasangan berjaya melalui phpinfo():

mysqli.jpg


Pemasangan PDO

Untuk butiran pemasangan, sila lihat: http://php.net/manual/en/pdo.installation.php

Anda boleh menyemak sama ada pemasangan berjaya melalui phpinfo():

pdo.jpg


PHP menyambung ke MySQL

Sebelum kami mengakses Pangkalan data MySQL, kita perlu terlebih dahulu Menyambung ke pelayan pangkalan data:

Instance (MySQLi - Berorientasikan Objek)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = 
new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
Note< /th>Perhatikan bahawa $connect_error dalam contoh berorientasikan objek di atas telah ditambahkan dalam PHP 5.2.9 dan 5.3.0. Jika anda memerlukan keserasian dengan versi terdahulu Sila gunakan kod berikut untuk menggantikan:
Note注意在以上面向对象的实例中 $connect_error 是在 PHP 5.2.9 和 5.3.0 中添加的。如果你需要兼容更早版本 请使用以下代码替换:

// 检测连接
if (mysqli_connect_error()) {
    die("数据库连接失败: " . mysqli_connect_error());
}
<🎜>// Kesan sambungan<🎜>jika (mysqli_connect_error()) {<🎜> die("Sambungan pangkalan data gagal: " . mysqli_connect_error());<🎜>}

Instance (MySQLi - Berorientasikan Prosedur)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = mysqli_connect($servername, 
$username, $password);
// 检测连接
if (!$conn) {
    die("Connection 
failed: " . mysqli_connect_error());
}
echo "连接成功";
?

Instance (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", 
$username, $password);
    echo "连接成功";
}
catch(PDOException $e)
{
    
echo $e->getMessage();
}
?>
Note注意在以上 PDO 实例中我们已经指定了数据库 (myDB)。PDO 在连接过程需要设置数据库名。如果没有指定,则会抛出异常。

Tutup sambungan

Sambungan akan ditutup secara automatik selepas skrip dilaksanakan. Anda juga boleh menggunakan kod berikut untuk menutup sambungan:

Instance (MySQLi - Object Oriented)

$conn->close();

Instance (MySQLi - Proses Berorientasikan Objek)

mysqli_close($conn);

Instance (PDO)

$conn = null;

Cadangan tutorial video berkaitan: "tutorial mysqlhttp://www.php.cn/course/list/51.html


Laman web PHP Cina