Вопрос

Я пытаюсь установить opencart впервые в моем местном компьютере.Я использую XAMPP 1.7.4 PHP 5.3.4 и Windows7 - моя ОС.Я пытаюсь следить за всеми шагами, описывающими Здесь .Но после предоставления имени имени БД, имени пользователя и пароль DB, когда я нажимаю кнопку «Продолжить», я получаю следующее сообщение об ошибке:

Переменная 'sql_mode' не может быть установлена на Значение 'no_auto_value_on_zero'

Попробую Google это с этим сообщением об ошибке, но не найдут ничего.Пожалуйста, помогите мне .....

Это было полезно?

Решение

Remove below line from opencart.sql

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"

you can find opencart.sql file in install folder

Above error comes if different version of mysql is being used.

Другие советы

Change the lines of code from the following files:

  • install/cli_install.php

    Search for $db->query("SET @@session.sql_mode = 'MYSQL40'"); and replace with $db->query("SET @@session.sql_mode = ''");

  • install/model/install/install.php

    Search for $db->query("SET @@session.sql_mode = 'MYSQL40'"); and replace with $db->query("SET @@session.sql_mode = ''");

Becouse at this time are 5 results on google regarding to this.... and i didn't found SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO

I had similar problem. My problem was Error 1231,unable to SET SQL_MODE=MYSQL40 . Something like that.

I solved in this way:

  1. go to system/database/mysql.php find line 50 or

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

  2. comment the //exit();

  3. drop all your tables from database.
  4. refresh to resend

In this way the code will continue and the cart will be able to finish the configuration.

I hope it helped someone.

PS: I posted this on my website: w3bdeveloper.com

The issue is that "sql_code=MYSQL40" has been deprecated on MySQL since 5.7.22 (https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_mysql40)

My solution is similar to @Yogesh Sanger. Instead of setting the sql_code value to an empty string, I just remove the line $db->query("SET @@session.sql_mode = 'MYSQL40'");

For those using Unix, here is a command to remove the culprit

sed -i '/MYSQL40/d' <OpenCart Directory>/install/cli_install.php
sed -i '/MYSQL40/d' <OpenCart Directory>/install/model/install/install.php
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top