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():
Pemasangan PDO
Untuk butiran pemasangan, sila lihat: http://php.net/manual/en/pdo.installation.php
Anda boleh menyemak sama ada pemasangan berjaya melalui phpinfo():
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 "连接成功"; ?>
< /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:
|
---|
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(); } ?>
注意在以上 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 mysql》http://www.php.cn/course/list/51.html