Не удается создать таблицу `mod_limit_purchase_config`. Ошибка SQL - PullRequest
0 голосов
/ 14 января 2019

У меня есть модули WHMCS под названием Limit Product, но после недавнего обновления он перестал работать, когда я обновил код соответствующим образом со строками MySQLi, но не смог создать таблицу в базе данных

Я использую MariaDB и пытался создать эти таблицы вручную из phpmyadmin, но его модуль не смог активировать

$sql = "CREATE TABLE IF NOT EXISTS `mod_limit_purchase_config` (
        `name` varchar(255) NOT NULL,
        `value` text NOT NULL,
    PRIMARY KEY (`name`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8";
$result = mysqli_query($sql);
if($result) 
{
    $sql = "INSERT INTO mod_limit_purchase_config (`name`,`value`) VALUES
        ('localkey', ''),
        ('version_check', '0'),
        ('version_new', '')";
    $result = mysqli_query($sql);
}
else
{
    $error[] = "Can't create the table `mod_limit_purchase_config`. SQL Error: " . mysqli_error();
}
$sql = "CREATE TABLE IF NOT EXISTS `mod_limit_purchase` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `product_id` int(11) NOT NULL DEFAULT '0',
        `limit` int(11) NOT NULL DEFAULT '0',
        `error` varchar(255) NOT NULL,
        `active` tinyint(1) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1";
$result = mysqli_query($sql);
if(!$result) $error[] = "Can't create the table `mod_limit_purchase`. SQL Error: " . mysqli_error();
if(sizeof($error))
{
    limit_purchase_deactivate();
}
return array(
    'status'    => sizeof($error) ? 'error' : 'success',
    'description'   => sizeof($error) ? implode(" -> ", $error) : '',
);
...