Толкатель: запускать толкатель при изменении данных mysql

Я пытаюсь использовать Pusher для создания push-уведомлений в реальном времени. Я хочу вызвать толкатель при изменении данных mysql. Может ли кто-нибудь помочь мне с этим? Я новичок в этом толкателе.


person Mark Vincent Manjac    schedule 03.09.2015    source источник


Ответы (1)


Самый простой способ сделать это — инициировать событие через Pusher после того, как вы выполнили взаимодействие с базой данных.

e.g.

// Connect and interact with database
$mysqli = new mysqli("server", "username", "password", "database_name");

$value = $_POST["activity-name"];
$stmt = $mysqli->prepare("INSERT INTO activities (column) VALUES (?)");
$stmt->bind_param("s", $value);
$stmt->execute();

// TODO: check the INSERT was successful.

$stmt->close();
$mysqli->close();

// TODO: Only trigger if the DB interaction was successful

// Create Pusher instance (assuming the Pusher library has been required)
$pusher = new Pusher(APP_KEY, APP_SECRET, APP_ID);

// Trigger the event representing the new data that's been inserted
$pusher->trigger('activities', 'activity-created' ['name' => $value]);

Если взаимодействие с базой данных было для UPDATE, вы можете использовать другое имя события.

$pusher->trigger('activities', 'activity-updated' ['name' => $value]);

В качестве альтернативы вы можете настроить триггер базы данных и выполнить другой скрипт и взаимодействовать с Pusher, когда происходит изменение. См. раздел Вызов сценария PHP из триггера MySQL.

person leggetter    schedule 03.09.2015
comment
$stmt-›close(); $mysqli-›close(); // Если ваше приложение падает прямо здесь; событие никогда не отправляется -> плохая практика // Создать экземпляр Pusher (при условии, что библиотека Pusher требуется) $pusher = new Pusher(APP_KEY, APP_SECRET, APP_ID); - person morissette; 10.03.2017