2010-08-17 13 views
1

如何創建一個能夠始終檢查MySQL行的PHP腳本,並且如果設置的查詢匹配,它會啓動一個事件,如發送電子郵件?如何在MySQL查詢爲真時觸發事件?

例如,在查詢匹配Fire開頭的電子郵件:

To: [email protected] 
From: [email protected] 
Subject: Set query met, auto email complete. 

這將是各地的MySQL5。我堅持這一點。我最好用Perl或類似的方式做到這一點? 也許它也可以通過電子郵件發送給各種用戶? (這不是硬比特:P)

+1

你需要一個cron工作。你可以設置一些你託管的地方嗎? – 2010-08-17 10:11:08

+1

相關:http://stackoverflow.com/questions/1803631/is-there-any-way-to-automatically-run-php-script-on-hosting-web-server-withour-cr – 2010-08-17 10:11:59

回答

8

使用cron或類似的調度涉及輪詢,它的工作原理,但brute force and ignorance。我不能推薦它:行更改和cron執行檢查程序之間有一段時間延遲;反覆檢查是浪費資源。

優雅的解決方案是數據庫觸發器,請參閱Using TriggersCan triggers call an external application through a UDF?。每當你的表格行被着火或什麼的時候你會得到一個事件,並且你的電子郵件發送程序被立即調用。

如果你想使用Perl,Email::Simple/Email::Sender是漂亮的。

+0

甜,感謝daxim。我想要的確切答案,將在幾個小時內嘗試出來:D – Dean 2010-08-17 13:22:59

0

您可以使用PHP或Perl或任何其他您喜歡的編程語言。

創建一個cronjob,每X小時執行一次腳本。

例如php queryDatabase.php

就是這樣。

+0

我知道CRON,非常有用的工具:-) 實際腳本中的內容如何?有人能給我一個關於我從哪裏開始的想法嗎? 以前從未做過電子郵件/觸發器腳本。只做了MySQL查詢:-) – Dean 2010-08-17 10:39:08

+1

用php發送電子郵件http://php.net/manual/en/function.mail.php – jantimon 2010-08-17 11:41:24