问题标签 [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 投票
0 回答
964 浏览

php - 无法使用 Get_result 或 fetch_assoc,mysqlnd 不在共享服务器上

Hostgator 和 Webhostingpad 都告诉我 mysqlnd 是他们的默认值,我发现 libmysqlclient 是他们的默认驱动程序,所以我很难在不使用 mysqlnd 的情况下让我准备好的语句正常运行。

我知道我必须使用绑定和获取结果?如何创建一个数组才能继续在我的网站上显示我的所有信息?

0 投票
1 回答
829 浏览

php - PHP PDO FOUND_ROWS() 返回 0

我们在产品环境中使用 PDO 连接器,最近我们面临一个新问题。不知何故,mysql FOUND_ROWS() 返回 0

我也尝试在 mysql 控制台中手动运行 SQL 查询,但 FOUND_ROWS() 在控制台中返回正确的计数。

我发现:PDO 损坏,mysqli 有效

测试代码:

结果:

版本:

0 投票
1 回答
1588 浏览

php - 安装 mysqlnd 时未定义 MySQLi get_result()

我正在编写一个简单的测试脚本来了解 MySQLi 准备好的语句。该脚本将成为在处理结果时需要稍微动态的函数的基础。我需要 fetch 方法以类似于 mysql_fetch_array() 行为方式的数组形式返回。

我知道其中一些方法需要 mysqlnd。我检查了phpinfo。Mysqlnd 已安装并存在。见截图。 在此处输入图像描述 在此处输入图像描述

请注意,PDO 在我的服务器上可用,但此时我需要让这个脚本与 MySQLi 一起使用。!PDO 将在本项目后面进行研究。

上面的代码导致:

致命错误:在第25行的/path/to/public_html/_test.php中调用未定义的方法 mysqli_stmt::get_result()

Php.net 说 Mysqlnd 需要存在,但这显然不是全部。我还缺少什么?

我的 PHP 配置:

./configure' '--disable-fileinfo' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-pdo=shared' '--enable-sockets' '--prefix=/usr/local' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-curl =/opt/curlssl/' '--with-freetype-dir=/usr' '--with-gd' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr ' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libdir=lib64' '--with-libxml-dir=/opt/xml2/' '--with-mcrypt =/opt/libmcrypt/''--with-mysql=/usr''--with-mysql-sock=/var/lib/mysql/mysql.sock''--with-mysqli=/usr/bin/mysql_config ' '--with-openssl=/usr' ' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pdo-mysql=shared' '--with-pdo-sqlite=shared' '--with-pic' '--with-png-dir =/usr' '--with-xpm-dir=/usr' '--with-zlib' '--with-zlib-dir=/usr'

0 投票
1 回答
105 浏览

php - PHP中的SQLi参数化查询是否需要mysqlnd?

我已经阅读了参数化查询是如何预防 SQL 注入的,但令我惊讶的是,它的实现似乎比我想象的要复杂。

我尝试使用参数化查询在 PHP 中使用 mysqli 执行一个简单的 SELECT 语句,但我收到了一个致命的 PHP 错误,指出我在尝试检索查询结果时调用了一个未知方法。谷歌搜索后,它指出我需要mysqlnd安装并启用才能检索结果。我还发现mysqlnd应该默认安装在 PHP 5.4 或更高版本上。不过,我目前使用的是 5.4.3,所以我希望它可以工作。

首先,我是否需要 mysqlnd使用参数化查询,或者这只需要更高级的用户和查询?有没有可以在没有 mysqlnd 的情况下使用的方法来检索结果?其次,如果我确实需要它,如何在我的 PHP 中启用它?

PHP:

错误:

PHP 致命错误:调用未定义的方法 mysqli_stmt::get_result()

0 投票
0 回答
1721 浏览

php - 如何加载 mysqlnd 库?

我正在构建一个应用程序,其中包括准备好的 mysqli 语句。我使用面向对象的 PHP。前天一切正常。昨天我更新了我的 Ubuntu 机器(我目前用作 Web 服务器)。今天我又试了一次,噗!有一个错误。 “调用未定义的方法mysqli_stmt::get_result()” 所以我上网发现get_result需要mysqlnd库。所以我使用以下内容来检查是否包含库:

事实上,我收到了扩展程序未加载的消息。我现在想做的是尝试加载库,但我该怎么做呢?

我能找到的最好的是:

http://php.net/manual/en/mysqlnd.install.php

但即使经过反复试验,我也无法让它发挥作用。

问题:如何加载 mysqlnd 库?

0 投票
1 回答
253 浏览

php - 编译 mysqlnd_qc 时出错

我试图编译 mysqlnd_qc 但失败了。

我正在运行 Ubuntu 14.04.1 并已从启动板存储库https://launchpad.net/~ondrej/+archive/ubuntu/php5-5.6安装 PHP 5.6.5 。我还安装了 libmemcached-dev 以启用 mysqlnd_qc 的 memcached 功能。

这是我使用的命令:

配置时没有错但编译失败:

我试图编译稳定版本但也失败了。怎么了?请帮助我,谢谢!

0 投票
1 回答
1270 浏览

php - 即使已加载,Mysqlnd 本机驱动程序也无法正常工作

的输出php -i | grep mysqlnd是:

Client API version => mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4 Client API library version => mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4 mysqlnd mysqlnd => enabled Version => mysqlnd 5.0.11- dev - 20120503 - Id: 40933630edef551dfaca71298a83fad8d03d62d Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password mysqlnd statistics => Client API version => mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4

在此处输入图像描述

这表明它已加载,mysqlnd => enabled但所有数据库值仍以字符串形式出现,未转换为原生 PHP 类型:

结果

预期的

我是否缺少一些配置/任何建议?

0 投票
1 回答
242 浏览

php - 必须在哪里使用 MYSQLnd 安装命令?

我必须使用这个命令在 OS X 上安装 MySQLnd。但我不明白我必须在哪里使用它?

0 投票
2 回答
1795 浏览

php - mysqli_real_connect() 获取 SSL3_GET_SERVER_CERTIFICATE:证书验证失败

我们刚刚从php 5.4升级到php 5.6,一切正常,我们的 MySQL 使用 MySQLi 和 SSL 连接。

我们的连接看起来像:

但是,现在当我们尝试使用 php 5.6 通过 SSL 连接到 MySQL 时,我们得到:

警告:mysqli_real_connect():SSL 操作失败,代码为 1。OpenSSL 错误消息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:第 29 行 /MySQLConnection.php 中的证书验证失败

警告:mysqli_real_connect():无法在第 29 行的 /MySQLConnection.php 中使用 SSL 连接到 MySQL

警告:mysqli_real_connect(): [2002](尝试通过 tcp://mysql1.ourdomain.com:3306 连接)在第 29 行的 /MySQLConnection.php

警告:mysqli_real_connect(): (HY000/2002): in /MySQLConnection.php on line 29

我尝试设置:

但这无济于事。

更新

我补充说:

仍然得到:

警告:mysqli_real_connect():SSL 操作失败,代码为 1。OpenSSL 错误消息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:第 31 行 /MySQLConnection.php 中的证书验证失败

0 投票
1 回答
2244 浏览

php - PHP mysqlnd/MySQL 版本

我有一台运行 PHP 5.3.8 和 MySQL 5.5.23 的旧机器(通过 mysql 的“select version()”命令找到)。但是,PHP 的 mysqlnd 驱动程序指示 MySQL 5.0.8。是什么赋予了?

我知道这台机器上的 PHP 需要升级,这可能是问题吗?升级 PHP 时,mysqlnd 是否会升级以支持“较新”的 MySQL 版本?谢谢!