由于某种原因,__CODE__托管服务器上的PHP扩展无法运行使用mysql View的查询,并显示以下错误消息:
SQLSTATE [HY000]:常规错误:1615准备好的语句需要重新准备
其中有讨论:
https://bugs.mysql.com/bug.php?id=42041
以及众多stackoverflow条目.
但是出于某种原因,使用View的查询运行得很好,如果我们使用扩展名切换到连接__CODE__,这是用于MySQL Native Driver __CODE__.
我的问题是:两个驱动程序之间有什么区别?为什么通常选择一个驱动程序?
谢谢.
要从PHP连接到MySQL服务器,有两个版本的驱动程序:
mysqlndlibmysql要使用mysqlnd驱动程序连接到MySQL服务器,请使用nd_pdo_mysql扩展名,如下面的屏幕截图所示.
由于libmysql将数值类型作为字符串返回,因此我使用mysqlndwith nd_pdo_mysql来获取本机/严格数据,因此数字类型不会作为字符串返回.
来自MySQL官方网站:https: //dev.mysql.com/downloads/connector/php-mysqlnd/
用于PHP的MySQL本机驱动程序
mysqlnd是libmysqlPHP脚本语言的MySQL客户端库的替代品.