Rumah >pembangunan bahagian belakang >tutorial php >Bermula dengan operasi CRUD dalam pangkalan data PHP MySQL
Tutorial ini menunjukkan operasi CRUD (Buat, Baca, Kemas kini, Padam) asas menggunakan PHP dan MySQL. Ini adalah titik permulaan yang hebat untuk pemaju PHP yang belajar sambungan pangkalan data, kemahiran penting untuk sebarang aplikasi web. Kami akan memberi tumpuan kepada fungsi mysqli
teras untuk kesederhanaan.
Sambungan pangkalan data adalah asas bagi kebanyakan aplikasi web, sebagai pangkalan data data yang menyimpan data. Panduan ini menganggap pemasangan PHP dan MySQL yang berfungsi dengan lanjutan mysqli
diaktifkan. Anda boleh mengesahkan ini menggunakan phpinfo()
(cari bahagian "mysqli") atau alat baris arahan: php -m
. Output harus disenaraikan mysqli
jika ia diaktifkan.
mari kita tutup:
Sambungan pangkalan data:
Kami akan menggunakan pendekatan prosedur dengan fungsi mysqli_connect
untuk kejelasan. Fungsi ini mengambil empat argumen:
$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}", "{MYSQL_DATABASE}"); var_dump($connection_obj);
{MYSQL_HOSTNAME}
: MySQL Server Hostname atau IP (mis., localhost
, 127.0.0.1
). {MYSQL_USERNAME}
: nama pengguna mysql (sering root
). {MYSQL_PASSWORD}
: kata laluan mysql (sering kosong pada mulanya). {MYSQL_DATABASE}
: Nama pangkalan data. Sambungan yang berjaya mengembalikan objek sambungan. Pengendalian ralat adalah penting:
$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}", "{MYSQL_DATABASE}"); if (!$connection_obj) { echo "Error No: " . mysqli_connect_errno(); echo "Error Description: " . mysqli_connect_error(); exit; }
Memilih pangkalan data:
sementara anda boleh menentukan pangkalan data dalam mysqli_connect
, mysqli_select_db
membolehkan pangkalan data beralih selepas sambungan:
$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}"); if (!$connection_obj) { /* error handling as above */ } mysqli_select_db($connection_obj, "{MYSQL_DATABASE}");
mysqli_select_db
mengambil objek sambungan dan nama pangkalan data sebagai argumen.
Membuat dan mengemas kini rekod:
CREATE TABLE `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `email` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `phone` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
penyisipan:
$name = 'John Smith'; $email = 'john.smith@yahoo.com'; $phone = '541-754-1234'; $query = "INSERT INTO employee(`name`,`email`, `phone`) VALUES ('" . mysqli_real_escape_string($connection_obj, $name) . "','" . mysqli_real_escape_string($connection_obj, $email) . "','" . mysqli_real_escape_string($connection_obj, $phone) . "')"; mysqli_query($connection_obj, $query);dengan kritikal,
menghalang kelemahan suntikan SQL. mysqli_real_escape_string
mengemas kini:
$id = 1; $phone = '333-555-4444'; $query = "UPDATE employee SET `phone` = '" . mysqli_real_escape_string($connection_obj, $phone) . "' WHERE `id` = '" . (int)$id . "'"; mysqli_query($connection_obj, $query);
Mengambil rekod:
$query = "SELECT * FROM employee"; $result = mysqli_query($connection_obj, $query) or die(mysqli_error($connection_obj)); while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) { echo "ID:" . $row['id'] . "<br>"; echo "Name:" . $row['name'] . "<br>"; echo "Phone:" . $row['phone'] . "<br>"; echo "Email:" . $row['email'] . "<br><br>"; }
mengambil baris; mysqli_fetch_array
membolehkan mengakses lajur mengikut nama atau indeks. MYSQLI_BOTH
menyediakan tatasusunan bersekutu sahaja. mysqli_fetch_assoc
Menghapus rekod:
$id = 1; $query = "DELETE FROM employee WHERE `id` = '" . (int)$id . "'"; mysqli_query($connection_obj, $query);ingat untuk menutup sambungan menggunakan
selepas semua operasi. Contoh ini menyediakan asas untuk interaksi pangkalan data yang lebih kompleks dalam PHP. Ingatlah untuk sentiasa membersihkan input pengguna untuk mengelakkan suntikan SQL. mysqli_close($connection_obj);
(Nota: URL imej adalah ruang letak dari input asal. Gantikannya dengan URL imej sebenar jika diperlukan.)
Atas ialah kandungan terperinci Bermula dengan operasi CRUD dalam pangkalan data PHP MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!