是否可以启用MySQL Native Driver(mysqlnd)?

Ren*_*ani 3 php mysql

可能重复:
调用未定义的方法mysqli_stmt :: get_result

我的网站主机有PHP 5.3.10并且我正在使用mysqli,但有些功能get_result() 因为它需要而无效mysqlnd.

我做了一些测试,似乎mysqlnd没有使用.是可以启用它还是需要重新安装PHP(我不能这样做,因为它是一个虚拟主机).

如果没有它我不想改变我的代码.

Pas*_*TIN 8

mysqldnd是提供的MySQL -连接到库mysql_*,mysqli_*和PDO功能/方法.

这三个扩展是用mysqlnd或编译的libmysql; 并且无法同时使用两者编译:它们使用一个库,或另一个库.
这意味着之间切换的唯一途径libmysqlmysqlnd是重新编译PHP (或,至少,mysqli扩展,你的情况) ; 或者安装针对所需库编译的版本.

基本上,这只能由您的服务器管理员来完成 - 所以,在您的情况下,您似乎被困在libmysql; 即使它缺乏一些有趣的功能.


再一次,使用您不是管理员的托管服务有优势(减少维护,您可能支付更少),但您无法用"您的"服务器做任何您想做的事情.

  • 似乎我无法添加答案,因此必须是评论。如果您的虚拟主机有 cpanel,它可能有一个“选择 PHP 版本”选项。它在我的托管 Cpanel 和 PHP 选择器中完成,您可以选择扩展。我取消选中 mysql、mysqli、pdo_mysql 扩展并选中了 nd_mysql、nd_mysqli、nd_pdo_mysql 和 myslqnd 扩展。这启用了 MySQLnd。我找不到这方面的文档,因此需要检查哪些扩展名可能不是 100% 正确的,但我希望这些信息在这里可用,因为我在其他任何地方都找不到关于它的任何信息 (2认同)