如何扩展MySQLi类以解释给定页面上的所有SQL查询?

谢谢。

最佳答案

有几种方法可以做到这一点。这是一个:

首先,您可以通过简单地在mysql语句前添加“ EXPLAIN”来获得解释。有关MySQL的explain的详细信息,请参见http://dev.mysql.com/doc/refman/5.0/en/explain.html

知道Mysql调用后,mysqli::querymysqli::prepare方法都将其第一个参数作为$query字符串(注意:只需在快速测试脚本中使用Reflection类即可获取当前方法或构造原型。您会发现实际上无法扩展mysqli_result类,但这在这里应该不是问题)。

知道,


将扩展方法调用中使用的mysql查询字符串存储为扩展mysqli类的新属性
照常传递父方法的返回结果
创建一个新的自定义方法以在带有`explain`的情况下调用此字符串属性,并使用任何父方法或通用Mysqli调用对该字符串属性运行一个新的单独查询。每当您需要在html视图中输出查询说明时,都会调用此新方法

关于php - 在页面上将MySQLi类扩展为EXPLAIN SQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6487658/

10-16 17:47