问题标签 [mysqlnd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
200 浏览

php - PHP 脚本从 Mysqlnd 转换为 mysqli

任何人都帮我找到我的脚本的替代代码,因为它需要Mysqlnd并且许多在线服务器没有这个所以如果我使用这个代码它会给我这个错误

所以我希望有人将我的代码更改为 mysqli 版本。

我的代码:

更新 1

更新 3

0 投票
0 回答
846 浏览

php - php是mysqlnd安装的吗?

我在整个应用程序中都使用与此类似的查询:

当我去在我的实时服务器上测试一些时,它看起来很$stmt->get_results();糟糕。

我没有收到任何错误,或者类似的东西,它只是......什么都没有?

使用谷歌的魔力似乎$stmt->get_results();要工作,你需要安装mysqlnd

任何人都可以巩固这一点吗?另外,为什么 mysqlnd 不能安装在服务器上?我看到一些用户说他们无法安装它,为什么托管服务提供商不愿意提供这个?

最后; 有什么方法可以检查(除了运行函数并且没有结果),如果 mysqlnd 可用或不可用?

一如既往,谢谢

编辑

我看到在我的 php.ini 中有一些对 mysqlnd 的引用,但似乎没有任何东西会禁用它。php.ini 中是否有需要配置以使 myslnd 运行的设置/设置?

回答

我觉得这不值得回答我自己的问题,但这就是我最终得到的:

$results = $stmt->get_results();$results = $stmt->get_result();我还需要联系我的托管服务提供商并让他们“重新安装”mysqlnd,因为之前的安装没有完成。

0 投票
2 回答
3461 浏览

php - 调用和“忘记”异步 mysqlnd INSERT 查询的最佳方式

设置

在这种情况下,我正在使用 php 和 mysql。

假设我有这样的mysqli连接:

我已安装 mysqlnd 以使用“MYSQL_ASYNC”参数执行异步 mysql 查询:

目标

我只想插入一条记录,直到遥远的将来我才需要检索它,所以我不关心异步查询完成需要多长时间,我不需要执行一些 final当我知道查询完成时采取行动。一旦我通过了插入查询发生的代码部分,我确实需要执行其他不相关的 mysql 查询。

问题

执行这样的查询将阻止脚本中稍后出现不同步错误的其他查询。为了解决这个问题,我必须在每个异步查询之后添加类似以下代码:

这有效地阻止了不同步错误,并且我的代码工作正常。
不过,有两件事仍然困扰着我:

  1. 我不想为此烦恼,因为我只执行插入查询,当我知道插入完成时,我不关心在我的代码中有一些响应。

  2. 轮询代码在我的服务器上运行得非常慢;比执行常规查询和同步获取结果要慢得多。

回顾

我想以两个要求运行插入查询;该查询是非阻塞的(异步的),稍后我仍然可以执行其他 mysql 查询。我只想插入查询并“忘记它”,然后继续我的代码。

有什么建议最好的方法是什么?

0 投票
0 回答
200 浏览

php - 尝试使用 MySQL 本机驱动程序构建 PHP

我目前正在尝试使用 Mysql 本机驱动程序构建 PHP 5.3.28。

这是我的配置脚本的样子:

但是,当我设置“--with-mysql=mysqlnd \”时,我收到以下错误。

我也仍然收到错误

即使,我的 PHP 信息说安装了 mysql 和 mysqlnd。有人知道我在这里缺少什么吗?我不太擅长编译自己的 PHP 版本,但我需要这样做,因为我在我的服务器上运行多个 PHP 版本。

0 投票
1 回答
345 浏览

php - 无法让 mysqli_result::$fetch_all 工作

我试图让 fetch_all 函数与 mysqli 一起工作。我知道我需要 PHP > 5.3 和 mysqlnd。

我的服务器运行 Debian Wheezy,所以我有 PHP 5.5。我刚刚删除了 php5-mysql 并安装了 php5-mysqlnd。

phpinfo()显示已安装 mysqlnd,但是当我尝试使用 fetch_all 函数时,我仍然收到此错误:

我这样称呼它:

我错过了什么吗?

0 投票
0 回答
281 浏览

php - query() 之后的 mysqlnd => memory_get_usage() 不显示内存使用情况

这是在文档中:

MySQL Native Driver 管理与 MySQL Client Library 不同的内存。这些库的不同之处在于内存的分配和释放方式、从 MySQL 读取结果时如何以块的形式分配内存、存在哪些调试和开发选项,以及从 MySQL 读取的结果如何链接到 PHP 用户变量。

所有内存分配和释放都是使用 PHP 内存管理函数完成的。因此,可以使用 PHP API 调用来跟踪 mysqlnd 的内存消耗,例如 memory_get_usage()。

我使用的是 PHP 5.4,所以 MySQL 扩展是使用 mysqlnd 驱动程序编译的。即使该文档说mysqlnd的所有内存管理都是通过PHP完成的,我在查询返回cca 1MB BLOB结果集的表后看不到任何内存使用情况。该查询用于缓冲 (mysql_store_result()) 模式:

为什么 memory_get_usage() 在查询后没有显示内存使用量增加?

我认为当使用缓冲模式时,query() 会将整个结果集从 MySQL 服务器返回到 mysqlnd。

0 投票
1 回答
1772 浏览

php - 调用未定义的方法 mysqli_stmt::get_result() 并且安装了 mysqlnd

我的功能有问题get_result()

我的 php 脚本localhost运行良好但在服务器上出现此错误

我搜索了很多次,但我没有找到解决方案。我的代码:

(“mysqli”和“mysqlnd”都已安装。)

我现在该怎么办?

0 投票
1 回答
938 浏览

apc - “mysql server has gone away”错误的可能原因(php 5.4,mysqlnd)

我们最近将我们的一个网络服务器从 PHP 5.3(Debian Squeeze 软件包,使用 libmysqlclient 和 APC)升级到 PHP 5.4(Debian Wheezy,Dotdeb 软件包,使用 mysqlnd、Opcache 和 APCu)。在正常工作了将近一天之后,每个请求我们都遇到了“mysql server has gone away”错误。所有其他负载相同的服务器仍然运行 PHP 5.3 和 libmysqlclient 使用相同的 MySQL 服务器完全没有问题。在我们使用的所有服务器上:

在我们的 PHP 5.3 服务器上,我们没有更改任何 mysql/my.cnf 超时。我们知道 read_timeout (mysql)、wait_timeout (mysql)、default_socket_timeout (php) 和 max_execution_time (php) 的问题,但仅限于具有长时间运行查询的批处理脚本的上下文中。我们的网络服务器通常会在 300 毫秒左右做出响应,所以这些超时在这里应该不是问题。

当我们从负载平衡中删除服务器时,它变得非常奇怪,所以不再有负载,但我们仍然有 180 个繁忙的 Apache 进程。即使aapache2ctl graceful没有改变任何东西,甚至几个小时后apache2ctl status说:

apache2ctl restart解决了这个问题,一切都恢复正常了。MySQL 错误是我们目前发现的唯一“有用”的错误消息。

可能是 mysqlnd、opcache 或 apcu 和 PHP 5.4.30 的问题吗?是否有任何已知问题可能导致我们所经历的行为?

或者您知道如何调试“mysql 服务器已消失”问题?

0 投票
0 回答
760 浏览

php - 如何在 MAMP 环境中的 PHP 中启用 mysqlnd

您好我正在运行一个 MAMP 开发环境,并且没有很多重新配置 PHP 的经验。但是,我看到我需要使用 mysqlnd 而不是 mysql。在 UNIX 的终端中究竟是如何做到这一点的?

链接到php安装源

0 投票
1 回答
2263 浏览

php - mysqlnd 活动连接数太大。这是正常的吗?

我有Windows 2003 ServerApache 2.4.10, PHP 5.4.31 and MySQL 5.6.19安装。服务器上运行着两个 wordpress 网站。

phpinfo();下面的mysqlnd部分中说;

这个数字正常吗?如果不是,我该如何减少它?