php - PDO::prepare() 如何生成 PDOStatement 对象?

标签 php mysql prepare pdo

如何通过 PDO::prepare() 执行在 PDOStatement 类中设置 readonly $queryString 属性?

鉴于类定义,我没有看到任何可以设置该查询的函数。这是否意味着如果 PDOStatement 类不是由 PDO 类实例通过 PDO::prepare() 函数生成的,则无法使用?

最佳答案

PDOstatement 是通过 C 代码在内部创建的。当然,C 代码可以直接设置任何属性。

是的,如果 PDOStatement 类不是由 PDO 类实例通过 PDO::prepare() (或 query())生成的,则不能使用 PDOStatement 类(用于任何有用的用途) >).

但是,您可以使用这样的代码重新声明并告诉 PDO 使用它而不是标准的 PDO

$pdo->setAttribute(PDO::ATTR_STATEMENT_CLASS, ['myPDOStatement', [$pdo]]);

关于php - PDO::prepare() 如何生成 PDOStatement 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31063644/

相关文章:

php - 停止 PHP 网站中没有 .htaccess 的目录列表

php - 如何在 Zend PHP 扩展中连接外部 C/C++ 库

mysql - WHERE 子句如何工作(互换 LHS 和 RHS)

swift - 无法在 View Controller 和 TableView Controller 之间快速发送 int 值

php对非对象上的成员函数prepare()的致命调用

php - Symfony 和 Twig 模板。如何动态扩展模板或什么也不扩展?

php - 将数组内爆到 MySQL 查询中

MySQL 复制 : struggling with replicate-rewrite-db to change the database name

mysql - InnoDB 死锁,锁定模式 S 和 X

AndroidId MediaPlayer prepareAsync 方法