1. Konfigurasi persekitaran
Sebelum anda bermula, anda perlu memastikan bahawa persekitaran pembangunan untuk PHP dan MySQL telah dikonfigurasikan. Jika tidak, sila pasang dan konfigurasikannya sendiri. Kami membangun dalam persekitaran tempatan dan menganggap bahawa anda telah mengkonfigurasi pelayan web, PHP dan MySQL untuk ujian kod.
2. Cipta pangkalan data
Pertama, kita perlu mencipta pangkalan data. Sila gunakan klien MySQL untuk log masuk ke pelayan dan jalankan arahan berikut dalam konsol:
CREATE DATABASE test;
Ini akan mencipta pangkalan data bernama "ujian". Seterusnya, kita perlu bertukar kepada pangkalan data ini:
USE test;
Seterusnya, kami akan mencipta jadual data yang dipanggil "pengguna" yang akan mengandungi maklumat pengguna.
CREATE TABLE users ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, email VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
Ini akan membuat jadual data bernama "pengguna" dengan empat medan: id, nama, e-mel dan kata laluan. id ialah integer kenaikan automatik yang digunakan sebagai pengecam unik untuk pengguna. Medan nama dan e-mel menyimpan nama pengguna dan alamat e-mel masing-masing. Medan kata laluan menyimpan kata laluan pengguna, yang perlu dicincang dan disimpan. Medan create_at digunakan untuk menyimpan masa penciptaan akaun pengguna.
3. Konfigurasikan sambungan pangkalan data
Kami menggunakan sambungan mysqli dalam PHP untuk mengawal sambungan pangkalan data kami. Pertama, kita perlu menentukan beberapa pemalar untuk menyimpan nilai konfigurasi sambungan pangkalan data. Dalam contoh ini, kami menggunakan akar pengguna dan kata laluan kosong untuk menyambung ke pelayan MySQL tempatan dan mengakses ujian pangkalan data
define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASSWORD', ''); define('DB_NAME', 'test');
Seterusnya, kami menggunakan fungsi mysqli_connect() untuk menyambung ke pelayan pangkalan data:
$mysqli = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
Jika sambungan gagal, mesej ralat dikembalikan. Setelah berjaya, anda akan dapat melaksanakan empat operasi pangkalan data asas iaitu mencipta, membaca, mengemas kini dan memadam.
4. Laksanakan operasi tambah, padam, ubah suai dan pertanyaan
Tambah ke pangkalan data
Fungsi berikut digunakan Tambahkan maklumat pengguna pada jadual data:
function create_user($name, $email, $password) { global $mysqli; $hashed_password = password_hash($password, PASSWORD_DEFAULT); $stmt = $mysqli->prepare("INSERT INTO users (name, email, password) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $name, $email, $hashed_password); $stmt->execute(); return $mysqli->insert_id; }
Fungsi ini memerlukan tiga parameter: nama pengguna, alamat e-mel dan kata laluan. Ia terlebih dahulu mencincang kata laluan menggunakan fungsi password_hash(). Kemudian, gunakan fungsi prepare() untuk menyediakan pertanyaan SQL yang akan menambah nama pengguna, alamat e-mel dan kata laluan cincang pada jadual data. Melalui fungsi bind_param(), anda boleh mengikat parameter pertanyaan kepada ruang letak dan melaksanakan operasi pertanyaan. Akhir sekali, gunakan fungsi insert_id() untuk mendapatkan pengecam unik pengguna baharu.
Dapatkan data daripada pangkalan data
Fungsi berikut mendapatkan maklumat pengguna dalam pangkalan data melalui ID pengguna:
rreeeFungsi ini memerlukan satu parameter: pengecam unik pengguna. Operasi ini menyediakan pertanyaan SQL dan menggunakan fungsi prepare() untuk memilih maklumat pengguna yang sepadan dengan ID yang diberikan dalam jadual data. Fungsi bind_param() mengikat parameter kepada ruang letak pertanyaan dan melaksanakan pertanyaan. Kemudian gunakan fungsi get_result() untuk mendapatkan hasil pertanyaan dan kembalikan tatasusunan bersekutu (jika rekod ditemui) atau nol (jika rekod tidak ditemui).
Kemas kini pangkalan data
Fungsi berikut digunakan untuk mengemas kini maklumat pengguna dalam pangkalan data:
function get_user($id) { global $mysqli; $stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?"); $stmt->bind_param("i", $id); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows === 0) { return null; } return $result->fetch_assoc(); }
Fungsi ini memerlukan empat parameter : ID pengguna, nama pengguna, alamat e-mel dan kata laluan. Ia terlebih dahulu mencincang kata laluan menggunakan fungsi password_hash(). Seterusnya, gunakan kaedah prepare() untuk menyediakan pertanyaan SQL yang akan mengemas kini maklumat pengguna yang sepadan dengan ID yang disediakan. Fungsi bind_param() mengikat parameter kepada ruang letak pertanyaan dan melaksanakan pertanyaan.. Akhir sekali, gunakan fungsi affected_rows() untuk mengesahkan sama ada operasi kemas kini berjaya dan mengembalikan nilai Boolean.
Padam data daripada pangkalan data
Fungsi berikut digunakan untuk memadam maklumat pengguna daripada pangkalan data:
function update_user($id, $name, $email, $password) { global $mysqli; $hashed_password = password_hash($password, PASSWORD_DEFAULT); $stmt = $mysqli->prepare("UPDATE users SET name = ?, email = ?, password = ? WHERE id = ?"); $stmt->bind_param("sssi", $name, $email, $hashed_password, $id); $stmt->execute(); return $stmt->affected_rows === 1; }
Ini fungsi memerlukan Satu parameter: ID pengguna. Kod ini memanggil fungsi prepare() untuk menyediakan pertanyaan SQL yang akan memadamkan maklumat pengguna daripada jadual data yang sepadan dengan ID yang disediakan. Fungsi bind_param() mengikat parameter kepada ruang letak pertanyaan dan melaksanakan pertanyaan.. Akhir sekali, gunakan fungsi affected_rows() untuk menyemak sama ada pemadaman berjaya dan mengembalikan nilai Boolean.
5. Penyahpepijatan dan Pengoptimuman
Dalam sebarang proses pembangunan web, penyahpepijatan dan pengoptimuman adalah sangat penting. Kami boleh menggunakan fungsi error_reporting() dan ini_set() untuk menyahpepijat kod kami. Fungsi ini digunakan untuk menetapkan tahap pelaporan ralat dan tetapan untuk memaparkan mesej ralat. Untuk mengoptimumkan kod kami, kami harus mengelakkan rentetan bercantum dalam pertanyaan pangkalan data sebanyak mungkin, dan sebaliknya harus menggunakan fungsi prepare() dan fungsi bind_param().
Atas ialah kandungan terperinci Bagaimana PHP+MySQL melaksanakan operasi penambahan pangkalan data, pemadaman, pengubahsuaian dan pertanyaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!