如何扩展MySQLi类以解释给定页面上的所有SQL查询?
谢谢。
最佳答案
有几种方法可以做到这一点。这是一个:
首先,您可以通过简单地在mysql语句前添加“ EXPLAIN”来获得解释。有关MySQL的explain
的详细信息,请参见http://dev.mysql.com/doc/refman/5.0/en/explain.html。
知道Mysql调用后,mysqli::query
和mysqli::prepare
方法都将其第一个参数作为$query
字符串(注意:只需在快速测试脚本中使用Reflection
类即可获取当前方法或构造原型。您会发现实际上无法扩展mysqli_result
类,但这在这里应该不是问题)。
知道,
将扩展方法调用中使用的mysql查询字符串存储为扩展mysqli类的新属性
照常传递父方法的返回结果
创建一个新的自定义方法以在带有`explain`的情况下调用此字符串属性,并使用任何父方法或通用Mysqli调用对该字符串属性运行一个新的单独查询。每当您需要在html视图中输出查询说明时,都会调用此新方法
关于php - 在页面上将MySQLi类扩展为EXPLAIN SQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6487658/