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

What is the difference between the nd_pdo_mysql and pdo_mysql extensions?(nd_pdo_mysql 和 pdo_mysql 扩展之间有什么区别?)
本文介绍了nd_pdo_mysql 和 pdo_mysql 扩展之间有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

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

<块引用>

SQLSTATE[HY000]: 一般错误:1615 准备好的语句需要重新准备

(有一个讨论

由于 libmysql 以字符串形式返回数字类型,我使用 mysqlndnd_pdo_mysql 来获取本机/严格数据,以便数字类型作为字符串返回.

来自MySQL官网:https://dev.mysql.com/downloads/connector/php-mysqlnd/

<块引用>

用于 PHP mysqlnd 的 MySQL 本地驱动程序是 PHP 脚本语言的 MySQL 客户端库 libmysql 的直接替代品.

For some reason the pdo_mysql PHP extension, on our hosted server, fails to run a query that uses a MySQL view, with this error message.

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

(There is a discussion on Bug #42041 Prepared-Statement fails when MySQL-Server under load, as well as numerous questions on Stack Overflow.)

For some reason, the query using the view runs just fine, if we switch to using the nd_pdo_mysql extension, which is for the MySQL Native Driver (mysqlnd).

What is the difference between pdo_mysql and nd_pdo_mysql? Why would one be chosen over the other one?

Thanks.

解决方案

To connect to your MySQL server from PHP, there are two versions of drivers:

  1. mysqlnd
  2. libmysql

In order to connect to your MySQL server using mysqlnd driver, you use the nd_pdo_mysql extension, as seen in below screenshot.

Since libmysql returns numeric types as strings, I use mysqlnd with nd_pdo_mysql in order to get native/strict data, so that numeric types are NOT returned as Strings.

From the MySQL official website: 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.

这篇关于nd_pdo_mysql 和 pdo_mysql 扩展之间有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死锁异常代码?)
PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滚动游标不起作用)
PHP PDO ODBC connection(PHP PDO ODBC 连接)
Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔术方法)
php pdo get only one value from mysql; value that equals to variable(php pdo 只从 mysql 获取一个值;等于变量的值)
MSSQL PDO could not find driver(MSSQL PDO 找不到驱动程序)