gpt4 book ai didi

php - nd_pdo_mysql 和 pdo_mysql 扩展之间有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 07:04:10 25 4
gpt4 key购买 nike

出于某种原因,我们托管服务器上的 pdo_mysql PHP 扩展无法运行使用 MySQL View 的查询,并显示此错误消息。

SQLSTATE[HY000]: General error: 1615 Prepared statement needs to be re-prepared

(有关于 Bug #42041 Prepared-Statement fails when MySQL-Server under load 的讨论,以及关于 Stack Overflow 的大量问题。)

出于某种原因,如果我们切换到使用 nd_pdo_mysql 扩展(用于 MySQL native 驱动程序 (mysqlnd)),使用 View 的查询运行得很好。

pdo_mysqlnd_pdo_mysql 有什么区别?为什么会选择一个而不是另一个?

谢谢。

最佳答案

要从 PHP 连接到您的 MySQL 服务器,有两个版本的驱动程序:

  1. mysqlnd
  2. libmysql

为了使用 mysqlnd 驱动程序连接到您的 MySQL 服务器,您需要使用 nd_pdo_mysql 扩展,如下面的屏幕截图所示。

enter image description here

由于 libmysql 将数字类型作为字符串返回,我将 mysqlndnd_pdo_mysql 一起使用以获得 native /严格数据,以便数字类型NOT 作为字符串返回。

来自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 Library libmysql for the PHP script language.

关于php - nd_pdo_mysql 和 pdo_mysql 扩展之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46414868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com