실제로 레코드를 데이터베이스에 추가 할 때 메일을 보내거나 사용자에게 알리고 싶습니다. 그것은 가능합니까? ON INSERT
트리거처럼 일부 PHP를 실행합니까?MySQL 인서트에서 PHP를 실행할 수 있습니까?
답변
삽입이 성공적인지 확인한 다음 고객에게 메일을 보내십시오.
mysql 이벤트로 PHP 스크립트를 실행할 수 없습니다.
PHP 끝에서이 작업을 수행해야합니다.
삽입 명령이 성공적으로 실행되고 메일을 보내는지 확인하십시오.
당신은 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를 어떻게 실행할 수 있습니까?
- 2. asp.net 페이지에서 PHP를 실행할 수 있습니까?
- 3. PHP를 통해 MySQL 쿼리를 실행할 시간을 찾으십시오.
- 4. FireFox에서 MySQL SQL 문을 실행할 수 있습니까?
- 5. 매초마다 MySQL 쿼리를 실행할 수 있습니까?
- 6. 이 구조로 MySQL 요청을 실행할 수 있습니까?
- 7. MySQL DB에서 여러 SELECT 문을 실행할 수 있습니까?
- 8. MySQL의 인서트에서 교착 상태가 발생했습니다.
- 9. mysql 트리거를 통해 mysql 외부의 프로그램을 실행할 수 있습니까?
- 10. 내가 어떻게 계산할 수 있습니까? PHP를 사용하여 MySQL 데이터베이스 항목의?
- 11. Windows에서 명령 프롬프트를 통해 mysql 쿼리를 실행할 수 있습니까?
- 12. Mysql 처리기 : 테이블 변경시 로컬 우분투 스크립트를 실행할 수 있습니까?
- 13. 어떻게 큰 mysql 쿼리를 빨리 실행할 수 있습니까?
- 14. 조건부로 연속적인 MySQL 서브 쿼리를 실행할 수 있습니까?
- 15. 연결을 유지하지 않고 mysql 마이그레이션을 계속 실행할 수 있습니까?
- 16. mysql 문에서 apriori 연관 규칙을 실행할 수 있습니까?
- 17. PHP를 CLI로 실행할 때 CPU 사용률이 높습니다.
- 18. JQuery에서 SQL 쿼리를 실행할 수 있습니까?
- 19. PHP를 XML 파일 내에서 사용할 수 있습니까?
- 20. 다른 클래스를 어떻게 실행할 수 있습니까?
- 21. AppEngine에서 OpenBravo를 실행할 수 있습니까?
- 22. Azure가 WPF를 실행할 수 있습니까?
- 23. AWS에서 AppArmor을 실행할 수 있습니까?
- 24. 다른 SwingWorker를 실행할 수 있습니까?
- 25. PHP 문자열을 실행할 수 있습니까?
- 26. Trac을 오프라인에서 실행할 수 있습니까?
- 27. 신경망을 역으로 실행할 수 있습니까?
- 28. Memcached에서이 목록을 실행할 수 있습니까?
- 29. 애플릿에서 명령을 실행할 수 있습니까?
- 30. DOMContentLoaded보다 먼저 실행할 수 있습니까?
왜 이렇게해야합니까? PHP 코드에서 삽입 하시겠습니까? – Shameer
@Shameer, WordPress 플러그인을 사용하고 있습니다. 잘 모릅니다. 또는 이것이 처리되는 곳을 알아내는 데 아주 오래 걸릴 것입니다. –
너무 많은 시간이 걸릴 것입니다. 플러그인 디렉토리에서 db에 삽입 할 코드를 찾으십시오. 그런 다음 삽입 성공시 메일 기능을 작성하십시오. – Shameer