nd_pdo_mysql和pdo_mysql扩展之间的区别是什么?
对于我们的托管服务器上的一些原因,PHP扩展pdo_mysql
不能运行使用MySQL视图的查询,与此错误消息:nd_pdo_mysql和pdo_mysql扩展之间的区别是什么?
SQLSTATE[HY000]: General error: 1615 Prepared statement needs to be re-prepared
的还有这里的讨论:
https://bugs.mysql.com/bug.php?id=42041
以及许多计算器条目。
但由于某些原因,使用View的查询运行得很好,如果我们切换到使用扩展nd_pdo_mysql
(用于MySQL本地驱动程序mysqlnd
)进行连接。
我的问题是:两个司机之间有什么区别,为什么一个人会选择一个呢?
谢谢。
要连接到从PHP MySQL服务器,还有司机的两个版本:
mysqlnd
libmysql
为了连接到你的MySQL服务器使用mysqlnd
驱动程序,您请使用nd_pdo_mysql
扩展名,如下面的截图所示。
由于libmysql
返回数值类型为字符串,我用mysqlnd
与nd_pdo_mysql
为了得到本地/严格的数据,这样的数字类型不作为字符串返回。
从MySQL的官方网站: https://dev.mysql.com/downloads/connector/php-mysqlnd/
The MySQL native driver for PHP
mysqlnd
is a drop-in replacement for the MySQL Client Librarylibmysql
for the PHP script language.
>由于libmysql将数字类型作为字符串返回,因此我使用mysqlnd和nd_pdo_mysql来获取本地/严格数据,以便数值类型不会作为字符串返回。 -----我还没有在其他地方找到这个信息,现在很高兴有一些理解为什么会选择使用nd_pdo_mysql而不是pdo_mysql。谢谢。 – user2340816
此截图属于哪个软件? –
它来自cPanel – AamirR
这可能帮助:https://secure.php.net/manual/en/mysqlnd.overview.php –
@HaydenSchiff,感谢,但链接文章似乎不涉及到pdo驱动程序。有什么更多的帮助与pdo_mysql和nd_pdo_mysql驱动程序之间的差异? – user2340816
我不熟悉术语“nd_pdo_mysql”。后端库通常编译到PHP中,这不是您可以在运行时选择的东西。你在使用一些第三方PHP发行版吗? –