Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

galik

Newbie
  
  • Posts

    2
  • Joined

  • Last visited

Information

  • Gender
    Мужчина
  • City:
    Екатеринбург

galik's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

1

Reputation

  1. Версия магазина: ocStore v1.5.5.2 Без изменений Обновление с OpenCart 1.5.6.1 Синтаксическая ошибка в модуле драйвера БД mysqli.php Местоположение: <root ocStore directory>/system/database/mysqi.php После исправления ошибки в лоб оказалось, что класс драйвера БД назван аналогично нативному классу mysqli, что запрещено делать в PHP. Пришлось переименовать класс драйвера, на пример как в OpenCart классы драйверов имеют префикс DB то есть было: class MySql { ... } стало: class DBMySql { ... } ну и пришлось переименовать классы других драйверов с префиксом DB, они все расположены в одном каталоге. Кроме того чтоб драйверы корректно подгружались переписал модуль диспетчера БД: <root ocStore directory>/system/library/db.php привожу код полностью: <?php class DB { private $driver; public function __construct($driver, $hostname, $username, $password, $database) { if (file_exists(DIR_DATABASE . $driver . '.php')) { require_once(DIR_DATABASE . $driver . '.php'); } else { exit('Error: Could not load database file ' . $driver . '!'); } $classdriver = 'DB' . $driver; $this->driver = new $classdriver($hostname, $username, $password, $database); } public function query($sql) { return $this->driver->query($sql); } public function escape($value) { return $this->driver->escape($value); } public function countAffected() { return $this->driver->countAffected(); } public function getLastId() { return $this->driver->getLastId(); } } после этого заработало как должно. Исправьте плиз, дистрибутив ocStore, а то этот баг в нескольких версиях присутствует. Похоже все сидят на устаревшем драйвере mysql, а там этого бага нет. И еще, драйвер выбирается в конфигах : config.php и admin/config.php define('DB_DRIVER', 'mysqli'); PS при выборе драйвера mysql у меня появляется Notice: Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in .../www/store/system/database/mysql.php on line 6 - устарел mysql_connect() и в будущем он может быть удален, используйте вместо этого mysqli или PDO. PPS: pdo.php модуль вообще пустой, не реализован в ocStore 1.5.5.2
  2. Всем привет! версию opencart 1.5.6.1 решил обновить на последнюю ocstore после перехода на ссылке <урл магазина>/install/ появился экран UPGRADE, а после запуска UPGRADE ошибка: Parse error: syntax error, unexpected 'else' (T_ELSE), expecting function (T_FUNCTION) in ...\system\database\mysqli.php on line54 в файле mysqli.php явная синтаксическая ошибка. это как понять? mysqli не пользуется популярностью в ocstore? или где еще косяк может быть?
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.