Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menggunakan pencetus MySQL dalam PHP?
Menggunakan pencetus MySQL dalam PHP memerlukan: Mencipta pencetus: Gunakan pernyataan SQL CREATE TRIGGER untuk mencipta pencetus dalam pangkalan data. Nyalakan pencetus: Gunakan fungsi mysqli_query() untuk melaksanakan pencetus. Aplikasi praktikal: Gunakan pencetus MySQL dalam PHP untuk menguatkuasakan integriti data, seperti memancarkan mesej ralat apabila cuba mengemas kini nilai negatif.
Cara menggunakan pencetus MySQL dalam PHP
Pencetus MySQL ialah objek pangkalan data yang secara automatik melakukan satu siri tindakan apabila syarat tertentu dipenuhi. Pencetus biasanya digunakan untuk mengekalkan integriti data dalam pangkalan data atau melaksanakan tugas automatik yang lain.
Mencipta Pencetus
Untuk menggunakan pencetus dalam PHP, langkah pertama ialah menciptanya dalam pangkalan data. Pencetus boleh dibuat dengan pernyataan SQL berikut:
CREATE TRIGGER trigger_name BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name FOR EACH ROW BEGIN -- 要执行的语句 END
Sebagai contoh, mari buat pencetus yang memasukkan masa semasa apabila baris baharu dimasukkan ke dalam jadual users
表中插入新行时插入当前时间的触发器:
CREATE TRIGGER insert_timestamp BEFORE INSERT ON users FOR EACH ROW BEGIN SET NEW.created_at = NOW(); END
使用 PHP 触发触发器
创建触发器后,可以使用 PHP 触发它们。可以通过 mysqli_query()
函数执行触发器:
<?php $mysqli = new mysqli("localhost", "username", "password", "database"); $mysqli->query("INSERT INTO users (name, email) VALUES ('John Doe', 'john.doe@example.com')"); ?>
当执行此代码时,将触发 insert_timestamp
触发器,并在 users
<?php $mysqli = new mysqli("localhost", "username", "password", "database"); $mysqli->query("CREATE TRIGGER update_balance BEFORE UPDATE ON accounts FOR EACH ROW BEGIN IF NEW.balance < 0 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '余额不能为负值'; END IF; END "); $mysqli->query("UPDATE accounts SET balance = -100 WHERE id = 1"); ?>
Mencetuskan pencetus menggunakan PHP
Selepas mencipta pencetus, anda boleh mencetuskannya menggunakan PHP. Pencetus boleh dilaksanakan melalui fungsimysqli_query()
: rrreee
Apabila kod ini dilaksanakan, pencetusinsert_timestamp
akan dicetuskan dan dipaparkan dalam pengguna kod> jadual Masukkan masa semasa apabila memasukkan baris baharu. <p></p>🎜Contoh praktikal🎜🎜🎜Berikut ialah contoh praktikal menggunakan pencetus MySQL dalam PHP: 🎜rrreee🎜Contoh ini menunjukkan cara menggunakan pencetus dalam PHP untuk menguatkuasakan integriti data apabila cuba mengemas kini baki akaun kepada jantina bernilai negatif. 🎜
Atas ialah kandungan terperinci Bagaimana untuk menggunakan pencetus MySQL dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!