Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
捕获PHP中的mysql_查询函数以创建自定义触发器_Php_Mysql_Triggers_Analytics - Fatal编程技术网

捕获PHP中的mysql_查询函数以创建自定义触发器

捕获PHP中的mysql_查询函数以创建自定义触发器,php,mysql,triggers,analytics,Php,Mysql,Triggers,Analytics,我有一个巨大的PHP项目,它在很多文件中使用了mysql\u connect函数。 我的目标是检测PHP触发mysql_connect的次数。(来自本项目) 其想法是不要修改现有的项目文件,而是创建一些并行函数(触发器),只有当该项目在PHP中调用mysql\u connect时才会运行这些函数 有没有办法配置PHP在mysql\u connect上创建一些触发器?我的意思是,当PHP调用mysql\u connect时,这个触发器必须检测到这一点并并行运行另一个脚本,它将进行计数或其他操作 有

我有一个巨大的PHP项目,它在很多文件中使用了
mysql\u connect
函数。 我的目标是检测PHP触发mysql_connect的次数。(来自本项目)

其想法是不要修改现有的项目文件,而是创建一些并行函数(触发器),只有当该项目在PHP中调用
mysql\u connect
时才会运行这些函数

有没有办法配置PHP在
mysql\u connect
上创建一些触发器?我的意思是,当PHP调用mysql\u connect时,这个触发器必须检测到这一点并并行运行另一个脚本,它将进行计数或其他操作


有什么想法吗?

新连接上没有触发事件(此处至少没有列出:)

但是,您可以直接询问MySQL尝试了多少连接(成功与否)

(有关更多状态信息,请参阅)

也许它还可以帮助您了解每个连接都有一个唯一的连接id,您可以通过该id进行检索

SELECT connection_id()
因此,如果您有一个由每个脚本查询的表,则触发器可以对该表上的操作作出反应,获取活动连接的连接id,并将其写入以前未记录的位置

请注意,如果MySQL服务器重新启动,则连接枚举将从一开始就开始。这也适用于MySQLs内部连接计数,您可以使用
show status
检索该计数


但是,正如我已经提到的,我也会考虑在PHP方面解决这个问题。

重写并记录那些东西!(查看第一个用户提供的示例)谢谢,我将尝试此方法或尝试为此作业使用名称空间>,您可能可以为此使用Suhosin修补程序的日志功能。也许吧。我不认为问题是问mySQL触发器。我想他是在问当PHP做一些事情(比如连接到数据库)时触发脚本。在问题中选择“触发器”一词是不幸的,因为存在同名的mySQL功能,但阅读问题很明显,这不是他想要的。是的,也许你们是对的,我被错误的术语误导了。
SELECT connection_id()