MySQL触发器帮助,从php插入中捕获变量

时间:2015-06-22 16:04:43

标签: php mysql triggers

我正在编写一个MySQL触发器来使用RSA插件加密一列敏感数据。网站上有一个基于PHP的插入声明

$sql = "insert into redcap_data (project_id, event_id, record, field_name, value) values 
                            ($project_id, " . getEventId() . ", '" . prep($_GET['id']) . "', '{$_GET['page']}_complete', '2')";

在我的触发器中,我需要确定project_id和field_name是否与我的表redcap_encryption中的ProjectID和FieldName匹配,这样我们只对特定项目执行加密。

我有点不确定如何拦截并从从网站传递到数据库的插入语句中选择project_id和field_name

我可以执行以下操作(基本知道)

CREATE TRIGGER `ssnencrpyt`
BEFORE INSERT ON redcap_data
FOR EACH ROW BEGIN
IF project_id, field_name IN (SELECT ProjectID,FieldName FROM redcap_encryption)

由于

1 个答案:

答案 0 :(得分:0)

你走在正确的道路上:

IF (SELECT true FROM redcap_encryption WHERE ProjectID=NEW.project_id AND FieldName=NEW.field_name)....