php – 有没有办法记录SQLite查询?
发布时间:2020-12-13 16:43:59 所属栏目:PHP教程 来源:网络整理
导读:我正在使用预备语句,如: $mysqlite = new SQLite3("test.sqlite",SQLITE3_OPEN_READWRITE);$stmnt = $mysqlite-prepare("INSERT INTO Friends VALUES(?,?,?)");$stmnt-bindValue(1,4,SQLITE3_INTEGER);$stmnt-bindValue(2,"Jane",SQLITE3_TEXT);$stmnt-bind
我正在使用预备语句,如:
$mysqlite = new SQLite3("test.sqlite",SQLITE3_OPEN_READWRITE); $stmnt = $mysqlite->prepare("INSERT INTO Friends VALUES(?,?,?)"); $stmnt->bindValue(1,4,SQLITE3_INTEGER); $stmnt->bindValue(2,"Jane",SQLITE3_TEXT); $stmnt->bindValue(3,"F",SQLITE3_TEXT); $stmnt->execute(); 有没有办法在使用预准备语句时记录查询? 编辑: 解决方法
您可以通过重写prepare方法来扩展SQLite3类并包装SQLite3Stmt对象.在您的包装器中实现bindValue并执行方法并在SQLite3Stmt对象上调用它们(在此处添加日志记录).要完成它,您可以为您没有拦截的任何方法/属性添加
magic __get和__call函数.
为此,您必须将“new SQLite3”更改为“new SQLite3Debug”(假设您的扩展类称为此). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |