数据库更改时自动执行PHP脚本

时间:2013-03-26 12:59:26

标签: php android database wcf push-notification

THE ESSENCE

我的数据库(SQL Server)中有一个表和一个与DB通信以影响它的WCF服务。我的服务器上也有一个PHP脚本。现在,只要我的表中添加,修改或删除了一些数据,我希望我的PHP脚本能够自动执行。

ITS APPLICATION

我正在开发一个差不多完成的移动应用程序。现在我需要实现推送通知功能。即每当数据库发生变化时,我都必须运行配置为向用户发送通知的服务器端脚本。

3 个答案:

答案 0 :(得分:0)

您没有说明您使用的是哪种RDBMS,但无论它是什么,您都需要阅读有关“触发器”的文档。这应该给你所有你需要知道的东西。

答案 1 :(得分:0)

推送服务应该在将数据添加到数据库的层中实现。数据库仅用于存储不用于执行代码的信息。因此,为了创建推送通知,您需要一个接收更新的接口,将其发送到数据库并将其推送给用户。

看到你的问题,我当然不希望你允许你的应用直接向数据库添加信息,而没有一些验证传入信息的层。这是一个直接的安全风险。

模型的解决方案是:

App - >发送信息 - >网站 - >用PHP /其他代码语言分析请求 - >插入数据库 - >向客户推送消息。

答案 2 :(得分:0)

大多数情况下,这是使用cron(或其他调度程序)以特定间隔(例如每分钟)检查数据库以查找新工作然后处理它。

然而,这种设计只能让你到目前为止,下一阶段将是使用消息队列(如gearman,ZeroMQ等)。

您可以使用触发器进行操作,但通常不应将数据库视为队列。