Ich frage mich, wie eine Benachrichtigung ausgelöst wird, wenn ein neuer Datensatz in eine Datenbank eingefügt wird, mit PHP und MySQL.Live-Update-Benachrichtigung bei Datenbankänderungen MYSQL PHP
Antwort
MySQL hat jetzt Trigger und Stored Procedures, aber ich glaube nicht, dass sie irgendeine Möglichkeit haben, einen externen Prozess zu melden, so weit ich weiß, dass es nicht möglich ist. Sie müssten die Datenbank jede Sekunde abfragen, um nach neuen Datensätzen zu suchen.
Auch wenn dies der Fall ist, geht das davon aus, dass Ihr PHP-Prozess langlebig ist, so dass er es sich leisten kann, herumzuhängen, damit ein Datensatz erscheint. Da PHP meist für Websites verwendet wird, auf denen der Code ausgeführt wird und dann so schnell wie möglich beendet wird, ist es unklar, ob das mit dem, was Sie haben, kompatibel ist.
Die einfachste Sache ist wahrscheinlich, die Datenbank alle paar Sekunden abzufragen und nach neuen Datensätzen zu suchen. Aufgrund des Query-Cachings in der Datenbank sollte dies die DB-Performance nicht wesentlich beeinträchtigen.
Wenn alle Ihre Datenbankänderungen von PHP gemacht werden, würde ich eine Wrapper-Funktion für mysql_query erstellen und wenn der Abfragetyp INSERT, REPLACE, UPDATE oder DELETE wäre, würde ich eine Funktion zum Senden der entsprechenden E-Mail aufrufen.
EDIT: ich vergaß zu erwähnen, aber man könnte auch etwas tun, wie folgt aus:
if (mysql_affected_rows($this->connection) > 0)
{
// mail(...)
}
Eines Tages wurde ich in MySQL Forum fragen, ob Ereignis wie in Firebird oder Interbase in MySQL existieren, und ich sehe, dass jemand Antwort Ja (ich bin wirklich nicht sicher)
Check this: http://forums.mysql.com/read.php?84,3629,175177#msg-175177
diese relativ getan werden kann leicht Stored Procedures und Trigger verwenden. Ich habe einen "Live View" -Bildschirm mit einem Scroll-Display erstellt, der mit neuen Ereignissen aus meiner Ereignistabelle aktualisiert wird. Es kann ein bisschen fummelig sein, aber sobald es schnell läuft.
Sie können einen Trigger erstellen, der ausgeführt wird, wenn eine Aktualisierung stattfindet. Es ist möglich, einen externen Prozess über eine UDF (benutzerdefinierte Funktion) auszuführen/zu benachrichtigen. Es gibt keine eingebauten Methoden dafür, also ist es ein Fall von einem UDF-Plugin, das es für Sie tun wird.
Google für 'mysql udf sys_exec' oder 'mysql udf ipc'.
- 1. Aktualisierung der Android-Benutzeroberfläche bei Datenbankänderungen
- 2. Neu bei PHP/MySQL
- 3. Datenbankänderungen und VCS-Verzweigung
- 4. Wie aktualisiert man MySQL Datenbankänderungen automatisch auf dem Datenbankserver?
- 5. Agile Entwicklung und Datenbankänderungen
- 6. Wie verfolgt SQLAlchemy Datenbankänderungen?
- 7. So synchronisieren Sie den Anwendungscache bei manuellen Datenbankänderungen
- 8. Allow for Datenbankänderungen
- 9. Verwalten von Datenbankänderungen
- 10. node.js - auf Datenbankänderungen warten und sie aktualisieren
- 11. JPA auf Datenbankänderungen aufmerksam machen
- 12. JavaScript Popup-Nachricht auf Datenbankänderungen
- 13. Wie können Benutzer relationale Datenbankänderungen mithilfe von Node.js implementieren?
- 14. Android Handle App Updates und Datenbankänderungen
- 15. Einfachste/effizienteste Möglichkeit, PHP-Dateien für Datenbankänderungen in Java ständig zu prüfen und zu lesen?
- 16. Test mit VCR Rollback nicht zurück Datenbankänderungen
- 17. MySQL-Syntaxfehler, aber nur bei Verwendung von PHP
- 18. SQL Syntax Fehler bei der Verwendung von MySQL und PHP
- 19. PHP Formular sendet keine Daten an MySQL bei der Eingabe
- 20. PHP MYSQL Reihen Vergleichen bei der Definition WHERE-Anweisung
- 21. Fehler bei der Verwendung von MATCH() AGAINST() in PHP mysql
- 22. MySQL vs MySQLi bei der Verwendung von PHP
- 23. Zugang Tabelle Daten bei der Verwendung von PHP und MySQL
- 24. php/mysql bessere Option bei der Aktualisierung sehr große Tabellen
- 25. Ausgewähltes Attribut bei ausgewählter Option mit PHP und MySQL drucken
- 26. php mysql codeigniter Zeichencodierung
- 27. Mysql Suche mit PHP
- 28. Wie registriere ich mich für SMS-Datenbankänderungen?
- 29. Die beste Methode zum Verwalten von Datenbankänderungen
- 30. JPA zwingen, Datenbankänderungen im Hintergrund zu laden
Offenbar ist es möglich, aber mit einer Art Add-in: http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html#qandaitem-22-5-1-10 –