Rumah  >  Artikel  >  pangkalan data  >  Menyambung ke Pangkalan Data MySQL dalam PHP

Menyambung ke Pangkalan Data MySQL dalam PHP

Linda Hamilton
Linda Hamiltonasal
2024-10-24 03:16:29276semak imbas

Connecting to a MySQL Database in PHP

PHP biasanya dipasangkan dengan MySQL, salah satu sistem pengurusan pangkalan data hubungan sumber terbuka yang paling banyak digunakan, untuk mengendalikan data dengan kelajuan dan kecekapan dalam kedua-dua projek kecil dan besar.

Sama ada anda mencipta tapak web ringkas atau aplikasi web lanjutan, anda perlu tahu cara menyambungkan PHP ke pangkalan data MySQL.

Gambaran Keseluruhan Penyepaduan MySQL dan PHP

MySQL, yang dikenali sebagai sistem pengurusan pangkalan data hubungan sumber terbuka atau RDBMS, dihargai secara meluas kerana prestasi, kebolehpercayaan dan kemudahan penggunaannya.

Ia sangat boleh disesuaikan untuk semua jenis aplikasi, daripada tapak web berskala kecil hingga ke sistem perusahaan yang besar dan rumit. Fleksibiliti dan kecekapannya menjadikan MySQL sebagai pilihan utama bagi pembangun yang mencari asas pangkalan data yang kukuh.

PHP, bahasa skrip sebelah pelayan, berfungsi dengan lancar dengan MySQL untuk membina halaman web interaktif dipacu data. Bersama-sama, mereka menyediakan penyelesaian bahagian belakang yang berkuasa yang menjadikan mereka pilihan yang sempurna untuk tapak web dan aplikasi web.

Menyediakan Pangkalan Data MySQL

Untuk menyediakan pangkalan data MySQL anda, mulakan dengan menciptanya menggunakan antara muka baris arahan (CLI) MySQL atau alat web seperti phpMyAdmin. Menggunakan CLI, manfaatkan arahan CREATE DATABASE untuk memulakan pangkalan data baharu.

Menggunakan arahan mudah ini akan mencipta pangkalan data kosong yang sedia untuk data aplikasi anda. Jika anda lebih suka antara muka grafik, phpMyAdmin menawarkan cara mudah untuk menyelesaikan tugas yang sama melalui beberapa klik.

Selepas mencipta pangkalan data, anda perlu menyediakan pengguna dengan kebenaran yang sesuai untuk tujuan keselamatan. Anda boleh menggunakan arahan CREATE USER untuk menambah pengguna baharu dan arahan GRANT untuk memberikan kebenaran khusus kepada mereka.

Memilih Sambungan PHP MySQL: MySQLi lwn. PDO

Apabila memilih sambungan PHP untuk MySQL, anda mempunyai dua pilihan utama: MySQLi dan PDO. Setiap satu menawarkan ciri dan faedah yang berbeza, jadi keputusan akan bergantung pada keperluan khusus anda dan potensi keperluan masa hadapan.

Sambungan MySQL
MySQLi, yang bermaksud MySQL Improved, menyediakan cara yang dinaik taraf untuk bekerja dengan pangkalan data MySQL, menawarkan ciri yang lebih baik berbanding kaedah yang lebih lama.

Anda boleh memilih antara API berorientasikan objek dan prosedur dengan MySQLi, yang menjadikannya agak fleksibel bergantung pada gaya pengekodan anda. Walau bagaimanapun, MySQLi hanya berfungsi dengan pangkalan data MySQL, mengehadkan penggunaannya jika anda bercadang untuk mengembangkan lebih daripada itu.

PDO (Objek Data PHP)
PDO adalah pilihan yang lebih serba boleh, kerana ia menyokong 12 sistem pangkalan data yang berbeza, bukan hanya MySQL. Ini menjadikannya pilihan yang lebih berharga jika anda menjangkakan menukar pangkalan data pada masa hadapan.

PDO menggunakan pendekatan berorientasikan objek sepenuhnya dan menawarkan ciri lanjutan seperti pernyataan yang disediakan, meningkatkan keselamatan dan mudah alih merentas persekitaran pangkalan data yang berbeza.

Mewujudkan Sambungan

Mewujudkan sambungan yang boleh dipercayai ke pangkalan data MySQL anda ialah langkah pertama dalam membina aplikasi PHP dinamik.

Menyambung ke MySQL dengan MySQLi
Untuk menyambung ke pangkalan data MySQL menggunakan MySQLi, anda boleh memilih sama ada pendekatan berorientasikan objek atau prosedur. Dalam kaedah berorientasikan objek, hanya buat contoh baharu kelas mysqli menggunakan nama pelayan, nama pengguna dan kata laluan anda.

Dengan pendekatan prosedural, panggil fungsi 'mysqli_connect()' untuk mewujudkan sambungan. Setelah disambungkan, adalah penting untuk menyemak status sambungan. Anda boleh melakukan ini dengan '$conn->connect_error' dalam versi berorientasikan objek atau 'mysqli_connect_error()' secara prosedur.

Menyambung ke MySQL dengan PDO
Apabila menyambung dengan PDO, cipta contoh baharu kelas PDO, dengan menyatakan butiran pelayan dan pangkalan data secara langsung dalam rentetan sambungan. Untuk mengendalikan pengecualian dengan berkesan, gunakan atribut 'PDO::ATTR_ERRMODE' untuk menetapkan mod ralat kepada 'PDO::ERRMODE_EXCEPTION'.

Kini, pengecualian akan dilemparkan jika ralat berlaku, membolehkan anda mengurusnya dengan lebih tepat. Juga, perlu diingat bahawa PDO memerlukan anda untuk menentukan pangkalan data yang sah semasa persediaan sambungan; jika tidak, pengecualian akan dilemparkan, dan sambungan akan gagal.

Menjalankan Operasi Pangkalan Data Asas

Untuk mengurus data dalam pangkalan data MySQL anda dengan berkesan, anda perlu memahami cara melaksanakan operasi SQL asas dan cara operasi berfungsi.

Melaksanakan Pertanyaan
Untuk berinteraksi dengan pangkalan data MySQL anda, anda perlu melaksanakan pertanyaan SQL asas seperti SELECT, INSERT, UPDATE dan DELETE.

Menggunakan MySQLi, anda boleh menjalankan pertanyaan ini dengan '$conn->query($sql)' untuk pendekatan berorientasikan objek atau 'mysqli_query($conn, $sql)' untuk prosedural.

Untuk PDO, gunakan ‘$conn->exec($sql)’ untuk pertanyaan yang mengubah suai pangkalan data atau ‘$conn->query($sql)’ untuk mendapatkan semula. Setiap kaedah menyediakan cara mudah untuk melaksanakan arahan, membantu anda mengurus pangkalan data anda dengan cekap.

Penyata Disediakan
Penyata yang disediakan membantu memastikan aplikasi anda selamat daripada suntikan SQL. Dengan MySQLi, anda boleh menyediakan kenyataan menggunakan '$conn->prepare("INSERT INTO users (name, e-mel) NILAI (?, ?)")' dan kemudian mengikat parameter menggunakan '$stmt->bind_param("ss ", $nama, $e-mel)'.

Untuk PDO, gunakan '$conn->prepare("INSERT INTO users (name, email) VALUES (:name, :email)")' dan laksanakan dengan '$stmt->execute(['name' => $nama, 'e-mel' => $e-mel])'.

Ralat Pengendalian dan Penyahpepijatan

Mengendalikan dan menyahpepijat ralat secara berkesan adalah penting untuk mengekalkan sambungan yang stabil ke pangkalan data MySQL anda dan mengenal pasti isu dengan pertanyaan SQL, sama ada anda menggunakan MySQLi atau PDO.

  • MySQLi: Untuk mengendalikan ralat semasa menggunakan MySQLi, anda boleh menggunakan '$conn->error' untuk pendekatan berorientasikan objek atau 'mysqli_error($conn)' untuk kaedah prosedur. Fungsi ini membantu anda menangkap dan memaparkan ralat pangkalan data, menjadikannya lebih mudah untuk menyahpepijat isu berkaitan sambungan atau pertanyaan SQL supaya anda boleh mengenal pasti dan menangani masalah dengan berkesan.
  • PDO: PDO menggunakan kelas pengecualiannya sendiri, PDOException, untuk mengurus ralat dengan cekap. Anda boleh menggunakan blok 'cuba...tangkap' supaya anda boleh mengesan pengecualian dan bertindak balas dengan sewajarnya. Apabila ralat berlaku, 'catch(PDOException $e)' membolehkan anda mengeluarkan mesej ralat tertentu, memberikan kawalan yang lebih halus tentang cara ralat dikendalikan, yang menjadikan penyahpepijatan dan penyelenggaraan kod anda lebih mudah.

Menutup Sambungan Pangkalan Data

Anda boleh menutup sambungan pangkalan data secara eksplisit menggunakan '$conn->close()' untuk MySQLi dalam gaya berorientasikan objek, 'mysqli_close($conn)' untuk pendekatan prosedur atau tetapan '$conn = null' untuk PDO. Walaupun PHP akan menutup sambungan secara automatik pada penghujung skrip, menutupnya secara manual adalah amalan yang baik untuk mengosongkan sumber pelayan dan meningkatkan prestasi.

Sentiasa tutup sambungan pangkalan data anda apabila ia tidak diperlukan lagi. Gunakan pernyataan yang disediakan untuk mempertahankan diri daripada suntikan SQL dan mengukuhkan keselamatan aplikasi anda.

Atas ialah kandungan terperinci Menyambung ke Pangkalan Data MySQL dalam PHP. 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