gpt4 book ai didi

mysql - 通过数据库触发器推送消息?

转载 作者:行者123 更新时间:2023-11-30 00:17:47 25 4
gpt4 key购买 nike

我正在尝试使用数据库触发器和过程发送短信我已经创建了表,我可以通过以下方式插入数据:

use sms;  
INSERT INTO sms_out (id, sender,receiver,msg)
VALUES ('','MyName','25578200000',"test");

我已将触发器创建为;

use sms;  
CREATE TRIGGER push_message_trigger AFTER INSERT ON sms_out
FOR EACH ROW
CALL push_message(NEW.sender, NEW.receiver, NEW.msg);

我已经创建了程序;

use sms;
DELIMITER $$

CREATE PROCEDURE push_message
(p1 TEXT,
p2 DOUBLE,
p3 TEXT)
BEGIN

DECLARE cmd CHAR(255);
DECLARE result CHAR(255);
SET cmd = CONCAT('curl "http://www.sms.co.tz/api.php?do=sms&username=Myusername&password=MyPassword&senderid=MyName&dest=25571500000&msg=test"');
SET result = sys_eval(cmd);

END$$;

上面的方法不起作用,但如果我替换

SET cmd = CONCAT('curl "http://www.sms.co.tz/api.php?do=sms&username=Myusername&password=MyPassword&senderid=MyName&dest=25571500000&msg=test"');

SET cmd = CONCAT('touch /var/lib/mysql/Advo');

它有效!!

curl 有什么问题吗?

最佳答案

我想问题不是curl文字而是你如何使用mysql CONCAT函数。

  • 要连接字符串,您应该执行以下操作(如果不使用逗号,则不会连接字符串):

    CONCAT(str1, str2, ....);

  • 似乎问题出在引号上,尝试像这样转义双引号\"

*如果您想让人们知道到底发生了什么,请显示错误

关于mysql - 通过数据库触发器推送消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23515627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com