PHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas dalam pembangunan web, terutamanya penjanaan halaman dinamik. Dalam pembangunan web, kita selalunya perlu memadam data daripada pangkalan data. PHP menyediakan kami dengan pelbagai cara untuk memadam data. Artikel ini akan memperkenalkan beberapa cara yang biasa digunakan untuk memadam data dalam PHP.
Kenyataan DELETE ialah cara biasa untuk memadam data dalam pangkalan data. Dalam PHP, kita boleh menggunakan sambungan mysqli atau sambungan PDO untuk melaksanakan kenyataan DELETE.
Gunakan sambungan mysqli:
$mysqli = new mysqli("localhost", "username", "password", "database"); // 检查连接是否成功 if ($mysqli->connect_errno) { echo "连接 MySQL 失败:" . $mysqli->connect_error; } // 执行 DELETE 语句 $sql = "DELETE FROM users WHERE id=1"; if ($mysqli->query($sql) === TRUE) { echo "删除成功"; } else { echo "Error: " . $sql . "<br>" . $mysqli->error; } // 关闭连接 $mysqli->close();
Gunakan sambungan PDO:
$dsn = "mysql:host=localhost;dbname=database"; $username = "username"; $password = "password"; try { $pdo = new PDO($dsn, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 执行 DELETE 语句 $sql = "DELETE FROM users WHERE id=:id"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':id', $id); $stmt->execute(); echo "删除成功"; } catch(PDOException $e) { echo "Error: " . $e->getMessage(); } // 关闭连接 $pdo = null;
Dalam contoh di atas, kami terus mengekodkan keadaan pemadaman (id= 1). Ini tidak digalakkan dalam aplikasi praktikal, dan pertanyaan berparameter harus digunakan untuk mengikat pembolehubah input untuk operasi pemadaman.
ORM (Object-Relational Mapping) ialah teknologi pengaturcaraan yang memetakan jadual pangkalan data hubungan ke kelas atau objek dalam bahasa pengaturcaraan enkapsulasi, pewarisan, polimorfisme dan ciri-ciri lain pengaturcaraan berorientasikan objek. Menggunakan rangka kerja ORM, operasi pangkalan data boleh dipermudahkan.
Yang berikut mengambil rangka kerja Laravel sebagai contoh untuk menunjukkan proses penggunaan rangka kerja ORM. Dalam Laravel, kita boleh menentukan model data dan menggunakan model untuk melaksanakan operasi pangkalan data. Sebagai contoh, kami mempunyai jadual data pengguna (Pengguna), kami boleh mentakrifkan model data berikut:
namespace App; use Illuminate\Database\Eloquent\Model; class User extends Model { protected $table = 'users'; protected $primaryKey = 'id'; public $timestamps = false; }
Dalam contoh di atas, kami menentukan model Pengguna, menyatakan penggunaan jadual data pengguna, dan ditentukan Kunci utama ialah id. Kami juga mematikan keupayaan untuk mengemas kini cap masa secara automatik ($timestamps=false).
Untuk menggunakan model untuk memadam data, anda hanya perlu memanggil kaedah pemadaman model:
$user = User::find(1); // 查询id为1的用户 if ($user) { $user->delete(); // 删除该用户 echo "删除成功"; } else { echo "用户不存在"; }
Atribut dan kaedah yang ditakrifkan dalam model merangkumi beberapa operasi pangkalan data asas untuk kami , memudahkan kod kami.
Pangkalan data hubungan (seperti MySQL, Oracle, SQL Server, dll.) menyokong penentuan kekangan antara jadual, seperti kunci utama, kunci asing , dsb. Apabila menggunakan pangkalan data hubungan, anda boleh memadam data dengan menetapkan kekangan "padam lata".
Pemadaman bertingkat bermakna apabila rekod dalam jadual induk dipadamkan, semua rekod dalam jadual anak yang berkaitan akan turut dipadamkan. Ini mengurangkan jumlah kod sambil mengelakkan ketidakkonsistenan data akibat ralat atau pengecualian program. Contohnya, kami mempunyai jadual data Pesanan dan jadual data OrderDetails Kami boleh menetapkan kunci asing dalam jadual Butiran Pesanan untuk mengaitkan kunci utama jadual Pesanan dan menetapkan kekangan "pemadaman lata" adalah seperti berikut :
CREATE TABLE Orders ( order_id INT PRIMARY KEY AUTO_INCREMENT, customer_id INT NOT NULL, order_date DATE NOT NULL ); CREATE TABLE OrderDetails ( order_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, CONSTRAINT pk_OrderDetails PRIMARY KEY (order_id, product_id), CONSTRAINT fk_OrderDetails_Orders FOREIGN KEY (order_id) REFERENCES Orders(order_id) ON DELETE CASCADE );
Dalam kod di atas, kami mencipta dua jadual data, mengaitkan jadual butiran pesanan dengan jadual pesanan dan menetapkan kekangan "padam lata". Apabila kami melaksanakan pernyataan SQL berikut, kami boleh memadamkan butiran pesanan dan pesanan pada masa yang sama:
DELETE FROM Orders WHERE order_id=1;
Dalam pembangunan web, pemadaman data adalah operasi penting. Kaedah di atas semua dapat merealisasikan fungsi pemadaman data Kita boleh memilih kaedah yang paling sesuai untuk memenuhi keperluan mengikut situasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemadaman fungsi data dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!