php - 需要替代解决方案,而不是从触发器调用 PHP 代码

标签 php mysql sql database triggers

我有两个表,考虑表1和表2。我需要在插入 table1 后执行触发器。

触发器必须执行一些操作,例如使用 select 查询从其他两个表中检索数据(它检索多行),对检索到的数据进行一些计算,然后需要将其作为单行插入到 table2 中。

我认为不可能在触发器中执行这些操作,因此我决定从该触发器调用一个 php 文件来完成所有这些操作。但有些人说从触发器调用 php 实际上并不好,而且存在一些安全风险。

最佳答案

一个简单的例子会帮助你。

$sql="INSERT INTO  `table1` (FirstName, LastName, Age)
VALUES ('$firstname', '$lastname', '$age')";

$result = mysql_query($sql) ;

if($result)
{
// Record successfully inserted , place your code which needs to be executed after successful insertion
}

else
{
 // Insertion failed 
}

我假设您会使用 mysqli 而不是 mysql,因为从 PHP 5.5.0 开始,mysql_query 已被弃用,但这只是一个帮助您理解逻辑的示例。

关于php - 需要替代解决方案,而不是从触发器调用 PHP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24422328/

相关文章:

SQLite 日期时间比较

c# - 如何从sql中提取日期时间并将其绑定(bind)到datetimePicker

php - 在一页中显示所有用户帖子,但查询速度太慢

php - 我可以在 php 中使用 glftpd 的哈希算法吗?

php - 如何在 codeigniter 中将多维数组作为单独的行保存到数据库中?

mysql查询按时间选择最后一条记录

php - 使用ajax和datepicker从不同表中获取数据

sql - 为什么sql server要进行嵌套循环

javascript - 电话号码未插入数据库

php - 如何使用ajax触发php函数将值存储在数组中