Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana PHP+MySQL melaksanakan operasi penambahan pangkalan data, pemadaman, pengubahsuaian dan pertanyaan

Bagaimana PHP+MySQL melaksanakan operasi penambahan pangkalan data, pemadaman, pengubahsuaian dan pertanyaan

PHPz
PHPzasal
2023-03-23 16:53:131594semak imbas

PHP dan MySQL ialah teknologi paling popular dalam pembangunan web moden. Dengan menggunakan kedua-dua teknologi ini, pembangun boleh membina aplikasi web dinamik yang merangkumi penyimpanan dan pengambilan data. Artikel ini akan memperkenalkan cara menggunakan PHP dan MySQL untuk melaksanakan operasi tambah, padam, ubah suai dan pertanyaan dalam pangkalan data.

1. Konfigurasi persekitaran

Sebelum kita mula, kita perlu mengesahkan bahawa persekitaran pembangunan untuk PHP dan MySQL telah dikonfigurasikan. Jika tidak, sila pasang dan konfigurasikannya sendiri. Untuk menguji kod, kami menggunakan persekitaran tempatan untuk pembangunan, dan menganggap bahawa anda telah menyediakan pelayan web, PHP dan MySQL secara tempatan.

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

Dalam PHP, kami menggunakan sambungan mysqli untuk mengurus sambungan pangkalan data kami. Pertama, kita perlu menentukan beberapa pemalar untuk menyimpan nilai konfigurasi sambungan pangkalan data. Dalam contoh ini, kami akan menyambung ke pelayan MySQL tempatan dengan akar nama pengguna, kata laluan kosong dan ujian nama 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 akan dikembalikan. Jika berjaya, empat operasi pangkalan data asas berikut boleh dilakukan: cipta, baca, kemas kini dan padam.

4. Laksanakan operasi tambah, padam, ubah suai dan pertanyaan

  1. Tambah ke pangkalan data

Fungsi berikut digunakan untuk tambah maklumat pengguna pada data Dalam jadual:

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. Fungsi bind_param() mengikat parameter kepada ruang letak pertanyaan dan melaksanakan pertanyaan. Akhir sekali, gunakan fungsi insert_id() untuk mendapatkan pengecam unik pengguna baharu.

  1. Dapatkan data daripada pangkalan data

Fungsi berikut mendapatkan maklumat pengguna dalam pangkalan data melalui ID pengguna:

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 Parameter: Pengecam unik pengguna. Ia menggunakan fungsi prepare() untuk menyediakan pertanyaan SQL yang akan memilih maklumat pengguna dalam jadual data yang sepadan dengan ID yang disediakan. 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).

  1. Kemas kini pangkalan data

Fungsi berikut digunakan untuk mengemas kini maklumat pengguna dalam 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;
}

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(). Kemudian, gunakan fungsi prepare() untuk menyediakan pertanyaan SQL yang akan mengemas kini maklumat pengguna dalam 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 kemas kini berjaya dan mengembalikan nilai Boolean.

  1. Padam data daripada pangkalan data

Fungsi berikut digunakan untuk memadam maklumat pengguna daripada pangkalan data:

function delete_user($id) {
global $mysqli;

$stmt = $mysqli->prepare("DELETE FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();

return $stmt->affected_rows === 1;
}

Fungsi memerlukan satu parameter : ID pengguna. Ia menggunakan fungsi prepare() untuk menyediakan pertanyaan SQL yang akan memadamkan maklumat pengguna yang sepadan dengan ID yang disediakan daripada jadual data. 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. Untuk menyahpepijat kod kami, kami boleh menggunakan fungsi error_reporting() dan ini_set(). 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().

6. Ringkasan

Dengan menggunakan PHP dan MySQL, kami boleh mencipta aplikasi web dengan mudah dengan fungsi penyimpanan dan pengambilan data. Dalam artikel ini, kami menunjukkan cara menggunakan kedua-dua teknologi ini untuk melaksanakan operasi pangkalan data asas: cipta, baca, kemas kini dan padam. Dengan melaksanakan kod di atas, anda akan belajar cara menyambung ke pangkalan data, mencipta jadual pangkalan data, menambah, membaca, mengemas kini dan memadam data pengguna. Kemahiran ini akan sangat berguna dalam kerja pembangunan web anda pada masa hadapan.

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!

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