大佬教程收集整理的这篇文章主要介绍了php-如何构造PDOStatement类?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个PDO扩展.我希望PDO的prepare方法不调用其父级,而是构造自己的PDOStatement.
class Foo extends \PDO {
public function prepare ($statement, $driver_options = []) {
// return parent::prepare($statement, $driver_options);
// what does parent::prepare do?
}
}
看来PDO prepare方法只是构造PDOStatement实例,但是PDOStatement构造函数并不具有我在那里期望的所有参数(语句本身,等等).
请注意,我知道PDO :: ATTR_STATEMENT_CLASS的存在,并且可以使用它来命名要构造的PDOStatement类.我很想知道PDOStatement是否可以在用户区域中构建.
解决方法:
您不能直接实例化PDOStatement.它被硬编码禁止.
我在ext / pdo / pdo_stmt.c的PHP 5.5源代码中找到了这个:
static PHP_FUNCTION(dbstmt_constructor) /* {{{ */
{
PHP_error_docref(NULL TSRMLS_CC, E_ERROR, "You should not create a PDOStatement manually");
}
/* }}} */
您应该通过调用PDO :: query()或PDO :: prepare()创建PDOStatement.
从您的问题尚不清楚,为什么您需要直接实例化PDOStatement.我认为您需要重新考虑自己的目标.
以上是大佬教程为你收集整理的php-如何构造PDOStatement类?全部内容,希望文章能够帮你解决php-如何构造PDOStatement类?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。