データベースにレコードが追加されたときに実際にメールを送信したり、ユーザーに何らかの通知をしたりしたいと思っています。それは可能ですか? ON INSERT
トリガのように、私はいくつかのPHPを実行する?MySQLインサートでPHPを実行することは可能ですか?
答えて
挿入が成功しているかどうかを確認してから、顧客にメールを送信してください。
mysqlイベントでPHPスクリプトを実行することはできません。
PHPの最後でこれを行う必要があります。
insertコマンドが正常に実行され、メールを送信しているかどうかを確認します。
あなたはmysqlのクエリでPHPを実行するカントしかし、あなたは、クエリが正常に行われたかどうかを確認してから、誰か、mysql_query()
はboolean
(true
またはfalse
)を返します郵送することができます。あなたは、PHPを使用している場合は、のは、それは正しい方法を使用しましょう。
if(mysql_query('// your query here')){
//mail someone
}
しかしMySQLのsys_exec UDFをインストールすることによってトリガMySQLの内部から外部プログラムを実行することが可能である)、それを行うためのオーバーヘッドだと思われますそう。挿入を行うPHPがMySQLの通知をトリガーするのはなぜですか?その時点でデータを入力したことを知っていますか?
私はWordPressプラグインを使用していますが、これはどこで処理されるのか分かりません...コードを掘り下げるには時間がかかります –
私はこのようなMySQLに変更を加えて、トリガーを作成して外部プログラムを呼び出すエラーは、プラグインのトラフコードを掘るよりもずっと面倒です。 –
データベースの挿入/変更/削除に関する通知(電子メールなど)を生成する最も簡単で簡単な方法は、データベースの変更を実行しているスクリプトから行うことです。
<?php
$res = mysql_query('INSERT INTO `table` (`field1`) VALUES ("One")');
if($res){
# Send Notification
}
?>
あなたが(何らかの理由で)データベース操作を自分で実行していない場合には、それに失敗するか、(毎週、毎日、毎時間)、時限要約を実行できるようにしたい、あなたがする必要があるだろうCron Jobのようなものを使ってデータベースをポーリングし、変更をチェックしてください。
<?php
# A file containing an integer which is the Highest ID in the table
$indexFile = 'lastIndexID.txt';
# Get that Highest ID from the file, if it exists
$lastIndex = 0;
if(file_exists($indexFile )
$lastIndex = (int) file_get_contents($indexFile);
# Check the Database
$res = mysql_query('SELECT `id` FROM `table` ORDER BY `id` DESC LIMIT 1');
if($res && mysql_num_rows($res)==1){
$row = mysql_fetch_assoc($res);
# Check if the ID has increased (ie new rows added)
if($row['id']>$lastIndex){
# Send Notification
# The number of New Rows will be the difference between $row['id'] and $lastIndex
# Update the Index File
file_put_contents($indexFile , $row['id']);
}
}else{
# An Error Occurred
}
?>
- 1. PHPスクリプトとmysqlをコンパイルすることは可能ですか?
- 2. MySQLで文字列を実行することは可能ですか?
- 3. mysqlでUPDATEとINSERTを行うことは可能ですか?
- 4. フレックスボックスのインサートとアニメーションをアニメーションすることは可能ですか?
- 5. アンドロイドエミュレータでviberを実行することは可能ですか?
- 6. d3でマルチズームを実行することは可能ですか
- 7. JavaScriptをリアルタイムで実行することは可能ですか?
- 8. Androidでバッチファイルを実行することは可能ですか?
- 9. vmplayerでfabric8を実行することは可能ですか
- 10. ArduinoでZeroMQを実行することは可能ですか
- 11. Namenodeでタスクを実行することは可能ですか?
- 12. コード実行ステップをカウントすることは可能ですか?
- 13. 差動リンクを実行することは可能ですか?
- 14. MYSQL/PHPインサート日
- 15. Javaでシェルスクリプトを実行することは可能です
- 16. これはphpで実行可能なコメントですか?<?php // comment?>
- 17. 実行可能ファイルをMS-DOSプログラムに渡すことは可能ですか?
- 18. javascript/jqueryとmysql/phpを組み合わせることは可能ですか
- 19. パスカルでこのWindowsコマンドを実行することは可能ですか?
- 20. mysqlでcronタスクをスケジュールすることは可能ですか?
- 21. PHPで仮想パスを実装することは可能ですか?
- 22. PHPを実行可能なウェブサイトとして実行可能
- 23. VBAからMySQLをクエリすることは可能ですか?
- 24. xampp linux phpで実行可能ファイルを実行する
- 25. PHPで実行可能ファイルを実行する
- 26. Webpack、Sass、PHP、MySQLでAngularを実行することはできますか?
- 27. C++同時実行ループを実行することも可能ですか?
- 28. MySQL:ハッシュで選択することは可能ですか?
- 29. C#(ASP.NET)でJSONクエリをプログラムで実行することは可能ですか?
- 30. ループするMySQLクエリを書くことは可能ですか?
なぜこのようにする必要がありますか?あなたはPHPコードから挿入されることはありません..? – Shameer
@Shameer、私はWordPressプラグインを使用していますが、わかりませんが、これがどこで処理されているのか把握するのに非常に時間がかかります。 –
あまり時間がかかりません。どのコードがdbに挿入されているかを調べるには、プラグインディレクトリを確認してください。その後、正常に挿入されたときにmail関数を記述します。 – Shameer