PHP menyambung ke MySQL

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

· MySQLi sambungan ("i" bermaksud bertambah baik)

· PDO (Objek Data PHP)

Dalam versi awal PHP kami menggunakan sambungan MySQL. Tetapi sambungan ini telah ditamatkan sejak 2012, kerana satu set fungsi mysql telah ditamatkan


Saya harus 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. Menggunakan 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 berikutnya, kami akan menggunakan tiga kaedah berikut Sebarang cara untuk menunjukkan cara mengendalikan MySQL dengan PHP: >Sambung MySQL

Syntax


mysql_connect (nama pelayan, nama pengguna, kata laluan);

Parameter

Penerangan

nama pelayan
adalah pilihan. Menentukan pelayan untuk disambungkan. Lalai ialah "localhost:3306".

nama pengguna
Pilihan. Menentukan nama pengguna untuk log masuk. Nilai lalai ialah nama pengguna yang memiliki proses pelayan.
kata laluanpilihan. Menentukan kata laluan untuk digunakan untuk log masuk. Lalai ialah "".

Sebelum kami mengakses pangkalan data MySQL, kami perlu menyambung ke pelayan pangkalan data terlebih dahulu:


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

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 penggantian kod berikut:

// Kesan sambungan
jika (mysqli_connect_error()) {
die("Sambungan pangkalan data gagal : " . mysqli_connect_error ()); >


Instance (PDO)

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

Nota: Dalam PDO di atas Dalam contoh kami telah menentukan pangkalan data (myDB). PDO perlu menetapkan nama pangkalan data semasa proses sambungan. Jika tidak dinyatakan, pengecualian akan dilemparkan


Tutup sambungan

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

Instance (MySQLi - Berorientasikan Objek)

$conn-> ;close ();

Instance (MySQLi - berorientasikan prosedur)

mysqli_close($conn );

Instance (PDO)

$conn = null;

Instance

Dalam contoh berikut, kami menyimpan sambungan pangkalan data dalam pembolehubah ($con). Jika sambungan gagal, bahagian "mati" akan dilaksanakan; jika sambungan berjaya, sambungan akan ditutup selepas program dilaksanakan.

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

Kod di atas bermaksud untuk menyambung ke pelayan bernama localhost, nama pengguna adalah root, kata laluan adalah root, dan pangkalan data ujian digunakan jika sambungan gagal, laksanakan kod dalam die

Hasil berjalan program:

Berjaya menyambung ke pangkalan data

Meneruskan pembelajaran
||
<?php $servername = "localhost"; $username = "username"; $password = "password"; // 创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; ?>
  • Cadangan kursus
  • Muat turun perisian kursus