Hãy xem danh sách các chức năng mã hóa có thể có tại đây:
http://dev.mysql.com/doc/refman /5.1/en/encryption-functions.html
Bạn có thể tạo trình kích hoạt để cập nhật và kiểm tra trường đó accessable
. Đại loại vậy:
CREATE TRIGGER crypt_trg BEFORE UPDATE ON table FOR EACH ROW
BEGIN
IF new.accessable = 0 THEN
SET new.msg := ENCRYPT(new.msg, 'key');
ELSE
SET new.msg := DECRYPT(new.msg, 'key');
END IF;
END;
Bạn cũng có thể cập nhật tất cả các bản ghi hiện có trong bảng của mình bằng truy vấn này:
UPDATE table SET msg = IF(accessable = 0, ENCRYPT(msg, 'key'), DECRYPT(msg, 'key'));
Vì vậy, bạn có thể chọn bản ghi cho mã PHP của mình:
SELECT msg_id, user_id, time, IF(accessable = 0, DECRYPT(msg, 'key'), msg) msg
FROM table
CẬP NHẬT. Cũng ở đây có câu hỏi tương tự: