Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bermula dengan PHP: Sambungan Pangkalan Data

Bermula dengan PHP: Sambungan Pangkalan Data

WBOY
WBOYasal
2023-05-20 11:10:351624semak imbas

PHP ialah bahasa skrip sebelah pelayan yang biasa digunakan yang digunakan secara meluas dalam bidang pembangunan web. Antaranya, interaksi dengan pangkalan data adalah senario aplikasi penting PHP Artikel ini akan memperkenalkan cara menyambung ke pangkalan data dalam PHP.

1. Konsep asas sambungan pangkalan data

Dalam aplikasi web, pangkalan data hubungan biasanya digunakan untuk menyimpan dan mengurus pelbagai data. Dalam aplikasi PHP, sambungan pangkalan data merujuk kepada mewujudkan sambungan antara aplikasi PHP dan pangkalan data melalui kod untuk melaksanakan operasi seperti menambah, memadam, mengubah suai dan menyemak data. Proses ini biasanya termasuk langkah berikut:

  1. Pilih pangkalan data yang sesuai dengan anda: Pada masa ini, pangkalan data yang lebih popular termasuk MySQL, Oracle, PostgreSQL, dll. Kita perlu memilih pangkalan data yang paling sesuai untuk kita berdasarkan mengenai keperluan sebenar.
  2. Tentukan kaedah sambungan: PHP boleh menyambung ke pangkalan data dalam pelbagai cara Dalam artikel ini, kami memperkenalkan dua kaedah sambungan pangkalan data yang biasa digunakan: MySQLi dan PDO.
  3. Tentukan parameter sambungan: Setiap kaedah sambungan perlu menentukan parameter yang diperlukan untuk sambungan, seperti alamat hos, nama pengguna, kata laluan, nama pangkalan data, dsb.

2. Sambungan MySQLi

MySQLi ialah sambungan yang disyorkan secara rasmi oleh PHP untuk berinteraksi dengan pangkalan data MySQL. Versi baharu PHP mempunyai sambungan MySQLi yang dipasang secara lalai.

  1. Mewujudkan sambungan

MySQLi menyediakan kelas mysqli untuk mengendalikan pangkalan data MySQL Pertama, anda perlu mewujudkan sambungan dengan pangkalan data melalui pembina kelas mysqli . Parameter pembina yang biasa digunakan adalah seperti berikut:

  • hos: alamat pelayan, lalai ialah localhost.
  • nama pengguna: nama pengguna.
  • kata laluan: Kata laluan.
  • dbname: Nama pangkalan data yang disambungkan secara lalai.

Kod sampel adalah seperti berikut:

//连接数据库
$mysqli = new mysqli('localhost', 'username', 'password', 'dbname');
//错误检查
if(mysqli_connect_errno()) {
    printf("Connect failed: %s
", mysqli_connect_error());
    exit();
}
  1. Melaksanakan pernyataan SQL

Selepas sambungan berjaya, anda boleh melaksanakan pelbagai pernyataan SQL . MySQLi menyediakan pelbagai kaedah untuk melaksanakan pernyataan SQL, seperti pertanyaan, sediakan, bind_param, jalankan, ambil, dll. Antaranya, kaedah pertanyaan digunakan untuk melaksanakan pernyataan SQL mudah dan mengembalikan hasil pertanyaan Kod sampel adalah seperti berikut:

//查询语句
$query = "SELECT * FROM users";
//执行查询
$result = $mysqli->query($query);
//遍历结果
while ($row = $result->fetch_assoc()) {
    echo $row['username'] . '<br />';
}
  1. Tutup sambungan

Selepas semua pangkalan data. operasi selesai, ia perlu ditutup sambungan pangkalan data.

//关闭连接
$mysqli->close();

2. Sambungan PDO

PDO (Objek Data PHP) ialah kaedah operasi pangkalan data berasaskan objek yang disediakan oleh PHP, ia bukan sahaja boleh berinteraksi dengan pangkalan data hubungan seperti MySQL, tetapi juga menyokong pangkalan data bukan Perhubungan.

  1. Mewujudkan sambungan

PDO mewujudkan sambungan dengan pangkalan data melalui objek PDO. Parameter pembina yang biasa digunakan adalah seperti berikut:

  • dsn: nama sumber data, mengenal pasti jenis pangkalan data, alamat hos, nama pangkalan data, set aksara dan maklumat lain.
  • nama pengguna: nama pengguna.
  • kata laluan: Kata laluan.
    Kod sampel adalah seperti berikut:
//数据源名称
$dsn = 'mysql:host=localhost;port=3306;dbname=test;charset=utf8';
//连接数据库
try {
    $pdo = new PDO($dsn, 'username', 'password');
    //设置错误模式
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 } catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}
  1. Laksanakan pernyataan SQL

PDO boleh praproses pernyataan SQL, mengelakkan serangan suntikan SQL dan meningkatkan kecekapan pelaksanaan . Pernyataan yang disediakan biasanya mengandungi tiga langkah:

  1. Sediakan pernyataan yang disediakan.
  2. Ikat parameter.
  3. Laksanakan kenyataan yang disediakan.

Kod sampel adalah seperti berikut:

//预处理语句
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=:id");
//绑定参数
$id = 1;
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
//执行预处理语句
$stmt->execute();
//遍历结果
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo $row['username'] . '<br />';
}
  1. Tutup sambungan

Setelah semua operasi pangkalan data selesai, sambungan pangkalan data perlu ditutup.

//关闭连接
$pdo = null;

3. Cadangan dan Nota

  1. Adalah disyorkan untuk menggunakan PDO untuk menyambung ke pangkalan data, kerana ia menyokong pelbagai jenis pangkalan data dan menyediakan kebolehbacaan kod dan seks keselamatan yang lebih baik.
  2. Adalah disyorkan untuk menggunakan pernyataan SQL yang telah diproses untuk mengelakkan serangan suntikan SQL dan meningkatkan kecekapan pelaksanaan.
  3. Beri perhatian kepada keselamatan sambungan pangkalan data dan cuba elakkan menyimpan maklumat penting seperti nama pengguna dan kata laluan dalam teks yang jelas dalam kod.
  4. Beri perhatian untuk menutup sambungan pangkalan data tepat pada masanya untuk mengelakkan pembaziran sumber dan risiko keselamatan.

Ringkasan: Artikel ini memperkenalkan dua cara biasa untuk berinteraksi dengan pangkalan data MySQL dalam PHP, iaitu MySQLi dan PDO. Melalui pengenalan artikel ini, pembaca boleh belajar bagaimana untuk mewujudkan sambungan dengan pangkalan data MySQL dan melaksanakan pelbagai pernyataan SQL. Dalam pembangunan sebenar, untuk memastikan keselamatan, kebolehselenggaraan dan kebolehskalaan aplikasi, adalah disyorkan untuk menggunakan PDO untuk menyambung ke pangkalan data MySQL dan menggunakan pernyataan yang disediakan untuk melaksanakan pernyataan SQL.

Atas ialah kandungan terperinci Bermula dengan PHP: Sambungan Pangkalan Data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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