Я хочу использовать следующий запрос MySQL в моем PHP код:MySQL запросов работает в терминале, но не работает в PHP
DELIMITER |
CREATE EVENT event1
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
DO
BEGIN
UPDATE user SET access_flag = 0 WHERE user_id = 1;
UPDATE user SET access_counter = 0 WHERE user_id = 1;
END;
| DELIMITER ;
Вот мой PHP код:
$sql="DELIMITER | CREATE EVENT event$user_id
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
DO
BEGIN
UPDATE user SET access_flag = 0 WHERE user_id = $user_id;
UPDATE user SET access_counter = 0 WHERE user_id = $user_id;
END;
| DELIMITER";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
И это ошибки я получаю:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER | CREATE EVENT event9 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL' at line 1
Забавно, что когда я выполнить запрос непосредственно в MySQL в терминале или MySQL Workbrench это работает хорошо. Что я делаю не так?
На самом деле, я получил его на работу, устраняя несколько операторов и используется запрос, как это:
CREATE EVENT event1
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
DO
UPDATE user SET access_flag = 0,
access_counter = 0 WHERE user_id = 1;
Спасибо за советы. Я до сих пор не знаю, почему он не работает в первую очередь ..
и переменная $ user_id в порядке. Вы видите по ошибке, что оно имеет значение 9 ... – user3362334
Почему два 'UPDATE' запроса? Требуется только один. – 2014-09-26 23:45:55
Вы пробовали без DELIMITER? – bksi