2

我第一次尝试在我的本地机器上安装opencart。我正在使用 xampp 1.7.4 PHP 5.3.4 和 Windows7 是我的操作系统。我尝试遵循此处描述的所有步骤。但是,在我按下“继续”按钮时给出数据库名称、数据库用户名和密码后,我收到以下错误消息:

变量“sql_mode”不能设置为“NO_AUTO_VALUE_ON_ZERO”的值

我尝试使用此错误消息搜索它,但没有找到任何东西。请帮我.....

4

5 回答 5

18

更改以下文件中的代码行:

  • 安装/cli_install.php

    搜索$db->query("SET @@session.sql_mode = 'MYSQL40'");并替换为$db->query("SET @@session.sql_mode = ''");

  • 安装/模型/安装/install.php

    搜索$db->query("SET @@session.sql_mode = 'MYSQL40'");并替换为 $db->query("SET @@session.sql_mode = ''");

于 2018-08-23T13:19:10.287 回答
6

Opencart 安装修复

导航到以下目录中的 install.php 文件 /install/model/install.php 编辑文件并删除此文本:

$db->query("SET @@session.sql_mode = 'MYSQL40'");
于 2020-06-29T12:45:52.330 回答
4

从 opencart.sql 中删除以下行

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"

您可以在安装文件夹中找到 opencart.sql 文件

如果正在使用不同版本的 mysql,则会出现上述错误。

于 2011-03-31T08:15:02.433 回答
4

问题是“sql_code=MYSQL40”自 5.7.22 以来已在 MySQL 上被弃用(https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_mysql40

我的解决方案类似于@Yogesh Sanger。我没有将 sql_code 值设置为空字符串,而是删除了该行$db->query("SET @@session.sql_mode = 'MYSQL40'");

对于那些使用 Unix 的人,这里有一个删除罪魁祸首的命令

sed -i '/MYSQL40/d' <OpenCart Directory>/install/cli_install.php
sed -i '/MYSQL40/d' <OpenCart Directory>/install/model/install/install.php
于 2019-10-31T23:55:44.123 回答
0

因为此时谷歌上有 5 个关于这个的结果....我没有找到SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO

我有类似的问题。我的问题是错误 1231,无法 SET SQL_MODE=MYSQL40 。类似的东西。

我是这样解决的:

  1. 转到 system/database/mysql.php 找到第 50 行或

    trigger_error('Error: ' . mysql_error($this->link) . '<br />Error No: ' . mysql_errno($this->link) . '<br />' . $sql);
    exit();

  2. 评论//exit();

  3. 从数据库中删除所有表。
  4. 刷新重新发送

这样,代码将继续,购物车将能够完成配置。

我希望它对某人有所帮助。

PS:我在我的网站上发布了这个:w3bdeveloper.com

于 2013-09-11T10:19:54.473 回答