【问题标题】:OpenCart MySQLi issueOpenCart MySQLi 问题
【发布时间】:2013-09-25 21:34:43
【问题描述】:

我使用 vqmod 安装了 OpenCart。

最近移到了一个带有较新版本的 PHP 的服务器,上面说 mysql 已被弃用。

所以我编辑了 config.php 让 OpenCart 使用 mysqli 而不是 mysql。

不幸的是,现在收到错误

致命错误:调用未定义的方法 mysqli::escape() in /home/shop/vqmod/vqcache/vq2-system_library_db.php 在第 20 行

【问题讨论】:

  • 要么你的编辑出错了,要么你的 OpenCart 版本不支持 Mysqli。无论如何,mysql暂时仍然支持。您可以忽略该消息,除非它显示在您的页面上。
  • PHP 消息非常清楚:使用 mysql 也返回了一个致命错误...使用已弃用的 mysql 函数的致命错误...
  • 不推荐使用的函数会发出 E_DEPRECATED 消息,但不是致命的。这里的错误信息是指mysqli::escape(),它不存在,mysql::escape()也不存在。
  • 你是对的。原来我把 2 条消息混为一谈。通过从 mysqli 切换到 mysql,我收到一条已弃用的消息,以及另一个与我没有在新服务器上启用的 mcrypt 相关的致命错误。谢谢!
  • 另外,OpenCart 开发者最近做了一些改变,破坏了它的 mysqli。希望这会很快得到解决。

标签: php mysql mysqli opencart vqmod


【解决方案1】:

使用这个库mysqliz:http://www.opencart.com/index.php?route=extension/extension/info&extension_id=13041

编辑您的 config.php 以使 OpenCart 使用 mysqliz 而不是 mysqli。

【讨论】:

  • 我也有同样的问题,但是改成mysqliz驱动后还是得到Class 'DBmysqliz' not found in vqmod/vqcache/vq2-system_library_db.php on line 13。你能解释一下为什么这个文件应该工作吗?
猜你喜欢
  • 2015-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-15
相关资源
最近更新 更多