问题:
如何从mysql(更新消息)获取消息,然后它会自动更新记录并实时显示?
我正在搜索mysql触发器(可以调用php文件吗?)
任何人都可以帮助解决这个问题。非常感谢你。
答案 0 :(得分:1)
如果您询问 Ajax电话,那么我们可以通过 javascript 来完成。
以下是Ajax的一些链接以及为什么需要它:
现在回答您的问题,问题实际上是不完整的,因为您没有发布任何代码或您的努力来帮助我们了解您想要实现的目标。因此,在没有任何参考的情况下,我想告诉您不能直接从Javascript调用 MySql触发器(就客户端而言)。
为了调用D B Mysql Triggers ,您需要任何支持MySql与语言本身之间连接的服务器端语言。
Php是一种支持它的语言,你可以阅读它here& here
使用Jquery的Ajax的基本示例是:
$.ajax({
url: "<where to post>",
type: "POST",//type of posting the data
data: <what to post>,
success: function (data) {
//what to do in success
},
error: function(xhr, ajaxOptions, thrownError){
//what to do in error
},
timeout : 15000//timeout of the ajax call
});
现在网址是您的服务器将响应的网址,这将是 Php电话的代码。
通过上面的示例,您可以在任何特定事件的UI的任何位置调用服务器端调用,并且其内部的服务器调用将触发MySql触发器,等待触发器获取结果并返回相同/部分从触发器返回的数据返回到UI调用者 success()回调。
在你的情况下,反之亦然(据我所知)。从 MySql触发器调用php文件并不是那么简单(或者可能不可能),需要额外的努力,也不建议使用。所以请为您的问题想一想。
仅供参考: 如果您可以在php中编写自己的函数/类,那么它更好,因为您可以更好地控制条件和数据,而不是依赖于数据库但是是的同时,如果你去实现php,速度有点慢,所以在实现之前要巧妙地思考。
答案 1 :(得分:0)
使用mysql触发器无法实现此目的。 MySQL触发器是与表关联的数据库对象。它将在为表执行定义的操作时激活,并仅在MySQL域中执行定义的任务。您无法使用MySQL触发器执行PHP或JS脚本。
为此你必须在PHP中使用套接字编程。