由于某种原因pdo_mysql我们的托管服务器上的 PHP 扩展无法运行使用 MySQL 视图的查询,并出现此错误消息。
SQLSTATE[HY000]:一般错误:1615 准备好的语句需要重新准备
(有一个讨论Bug #42041 当 MySQL 服务器负载时,Prepared-Statement 失败,以及 Stack Overflow 上的许多问题。)
由于某种原因,如果我们切换到使用视图,则使用视图的查询运行得很好nd_pdo_mysql扩展名,用于 MySQL 本机驱动程序(mysqlnd).
有什么区别pdo_mysql and nd_pdo_mysql?为什么会选择一个而不是另一个?
Thanks.
要从 PHP 连接到 MySQL 服务器,有两个版本的驱动程序:
mysqlnd
libmysql
为了连接到您的 MySQL 服务器,使用mysqlnd
司机,你使用nd_pdo_mysql
扩展名,如下面的屏幕截图所示。
![enter image description here](https://i.stack.imgur.com/Z0yXW.jpg)
Since libmysql
将数字类型返回为字符串,我使用mysqlnd
with nd_pdo_mysql
为了获得本机/严格数据,因此数字类型是NOT以字符串形式返回。
来自MySQL官网:https://dev.mysql.com/downloads/connector/php-mysqlnd/
PHP 的 MySQL 本机驱动程序mysqlnd
是 MySQL 客户端库的直接替代品libmysql
对于 PHP 脚本语言。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)