【问题标题】:How do I hook into an event triggered once a MySQL query is true?一旦 MySQL 查询为真,我如何挂钩触发的事件?
【发布时间】:2011-03-30 21:41:12
【问题描述】:

如何创建一个 PHP 脚本来一致地检查 MySQL 行,如果一组查询匹配,它会启动一个事件,例如发送电子邮件?

例如,查询匹配Fire start email:

To: me@me.com
From: php@trigger.com
Subject: Set query met, auto email complete.

它将在 MySQL5 附近。我坚持这一点。我最好用 Perl 或类似的方法来做吗? 也许它也可以向不同的用户发送电子邮件? (这并不难。:P)

【问题讨论】:

标签: php mysql perl


【解决方案1】:

使用cron 或类似的调度程序涉及轮询,它可以工作,但是是brute force and ignorance。我不能推荐它:在行更改和 cron 执行检查程序之间存在时间延迟;重复检查是浪费资源。

优雅的解决方案是数据库触发器,参见Using TriggersCan triggers call an external application through a UDF?。每当您的表格行着火或发生什么事情时,您都会收到一个事件,并且您的电子邮件发送程序会立即被调用。

如果你想使用 Perl,Email::Simple/Email::Sender 很不错。

【讨论】:

  • 很好,谢谢 daxim。我想要的确切答案,应该在几个小时内尝试一下:D
【解决方案2】:

您可以使用 PHP 或 Perl 或任何其他您喜欢的编程语言。

创建一个 cronjob 以每 X 小时执行一次脚本。

例如php queryDatabase.php

就是这样。

【讨论】:

  • 我知道 CRON,非常有用的工具 :-) 实际脚本中的内容呢?有人可以给我一个关于我从哪里开始的想法吗?以前从未做过电子邮件/触发脚本。只做 MySQL 查询 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-12
  • 2015-06-05
  • 2017-09-25
  • 1970-01-01
相关资源
最近更新 更多