• Почему не получается запустить MySQL?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    А вы приведённые логи разглядывали? В них видно, что сервис пытается создать, внимание, файл "C:\Server\data\DB\data\" <-------------------можно одну строку\ONTL4V7.err, именно так, со всеми тире и русскими буквами.

    Вывод: поменяйте в конфигах строку на
    datadir=C:/Server/data/DB/data/
    Ответ написан
    Комментировать
  • Как выставить интервал помесячно?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если задаёте вопрос про SQL - стоит указывать тег именно SQL, а не PHP...
    add_date > last_day(now() - interval 1 month)
    Ответ написан
  • Как при старте сервера запустить cron задачу только после старта Mysql?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ещё вариант. Если cron-задача запускается под пользователем, у которого есть права на чтение файла /var/run/mysqld/mysqld.pid (это где демон mysql хранит свой PID, у вас может быть по другому адресу) - то можно проверять наличие файла, читать из него PID, и проверять существование такого процесса через posix_getpgid($PID) или file_exists("/proc/{$PID}").

    Но лучше исправить подключение к базе данных, что бы подключалось в цикле, с проверкой результата подключения, и с паузой в десяток секунд.

    А самое элементарное: в начале приведённого файла - sleep(300).
    Ответ написан
    Комментировать
  • Как заблокировать ip с помощью file2ban?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Проблема в том, что fail2ban реагирует на сообщение об какой-либо ОШИБКЕ, нештатной ситуации.

    А у вас и ошибок-то нет, есть штатное подключение к потоку, и тут же штатное отключение от потока.
    И на штатное подключение-отключение fail2ban не сможет реагировать, иначе он будет банить вообще все подключения, тотально...

    Как вариант - нужно писать скрипт (на доступном языке), запускать каждую минуту/две/три/пять, парсить лог, находить такие подключения, проверять на уже забаненность, и банить. Профит!
    Ответ написан
  • Как выполнить sql запрос?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Однако очень-сильно-супер-нуб, да?
    <?php
    // Файл firstsql.php
    $host='localhost'; // имя хоста (уточняется у провайдера), и как правило используется 'localhost'
    $database='__database_name__'; // имя базы данных, которую вы должны вписать вместо __database_name__
    $user='__user_name__'; // заданное вами имя пользователя, его надо знать и вписать вместо __user_name__
    $pswd='__user_password__'; // заданный вами пароль, его надо вписать вместо __user_password__
     
    $dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL: ".mysql_error());
    mysql_select_db($database, $dbh) or die("Не могу подключиться к базе: ".mysql_error($dbh));
    
    //Идущие далее запросы УДАЛЯЮТ записи из таблиц,
    //опустошают таблицы,
    //вы ПОТЕРЯЕТЕ эти данные!!!!
    
    $query ="SET foreign_key_checks = 0;TRUNCATE TABLE oc_product;TRUNCATE TABLE oc_product_attribute;TRUNCATE TABLE oc_product_description;TRUNCATE TABLE oc_product_discount;TRUNCATE TABLE oc_product_image;TRUNCATE TABLE oc_product_option;TRUNCATE TABLE oc_product_option_value;TRUNCATE TABLE oc_product_related;TRUNCATE TABLE oc_product_related;TRUNCATE TABLE oc_product_reward;TRUNCATE TABLE oc_product_special;TRUNCATE TABLE oc_product_to_category;TRUNCATE TABLE oc_product_to_download;TRUNCATE TABLE oc_product_to_layout;TRUNCATE TABLE oc_product_to_store;TRUNCATE TABLE oc_review;DELETE FROM oc_url_alias WHERE query LIKE 'product_id=%';TRUNCATE oc_category;TRUNCATE oc_category_description;TRUNCATE oc_category_path; TRUNCATE oc_category_to_store;TRUNCATE oc_category_to_layout;TRUNCATE oc_category_filter;";
    
    foreach (explode(";", $query) as $q)
    {
            mysql_query($q, $dbh) or die("Ошибка выполнения запроса: ".mysql_error($dbh));
    }
    ?>

    Этот текст нужно сохранить в файл "firstsql.php", и в браузере открыть этот файл по ссылке типа http://адрес-вашего-сайта/firstsql.php.
    Ответ написан
  • Как определить, чередуются ли буквы и цифры в строке?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    if (preg_match('/^(\w\d|\w$)+$/', $arr[$i])) { }
    Ответ написан
    Комментировать
  • Как сделать множественный вывод в AJAX?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Возвращайте из AJAX не "просто ответ", а "массив просто ответов в формате JSON", вот и всё, проще простого.
    Ответ написан
  • Проверка на наличия данных в бд и получение результата?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Получить все A.id, для которых существует B.addressid:
    SELECT A.id
    FROM A
    LEFT JOIN B ON (B.addressid=A.id)
    WHERE B.addressid IS NOT NULL
    Ответ написан
  • Как составить sql запрос, на несколько совпадений в разных полях одной таблице?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    SELECT * FROM `table` WHERE
          `field1` IN ('1', '2', '3')
          AND `field2` IN (6, 7, 8)
          AND 'field3' IN ('000-888')
          AND `field4` IN ('mama', 'papa', 'baba')
          AND 'field5' IN ('yes', 'ok', 'on')
    Ответ написан
    1 комментарий
  • Как правильно написать php класс для работы с mysqli?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Конкретно в вашем коде первая ошибка из-за того, что переменная $sql (открытое соединение с MySQL) не попадает внутрь функции select(). Или передавайте в качестве аргумента (что неудобно из-за лишнего кода), или храните эту переменную внутри класса Database{}.

    Вторая ошибка вытекает из первой, поскольку mysqli_query() не отрабатывает корректно, не возвращает результат, необходимый в mysqli_fetch_array().
    Ответ написан
    Комментировать
  • Почему не работает функция php?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Рекомендую сделать так:
    if (empty($row['id'])) echo ('Ошибка!');
    else mysqli_query($mysqli, "INSERT INTO `notifications` VALUES ('', '".mysqli_real_escape_string($mysqli, $row['id'])."', 0, NOW(), '".mysqli_real_escape_string($mysqli, $p2)."')");
    Ответ написан
  • Как правильно написать с версии php 5 на 7?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Функции reset() нужна переменная типа массив.
    $selected_currency=array_keys($currencies);
    reset($selected_currency);
    Ответ написан
    Комментировать
  • Возможно ли спарсить на клиенте json и html одновременно?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну так передавайте внутри HTML какой-нибудь тэг типа <div id='title-text' style='display:none;'>New Page Title</div>, а после вставления на страничку доставайте document.getElementById('title-text').innerText из него...
    Ответ написан
    Комментировать
  • Mysql автоматически индексирует те поля которые имеют свойство unsigned?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Нет, не индексирует.

    А свойство UNIQUE - это и есть указание создать индекс с условием уникальности значений в индексе, а следовательно и в самом поле с таким свойством.
    Ответ написан
    Комментировать
  • Чем отличаются форматы файлов?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Возьмём для примера картинку в формате JPEG.
    Допустим она в высоту 2 точки, и шириной 100 точек. Состоит из двух горизонтальных линий, каждая высотой в одну точку, и длинной 100 точек. Верхняя белого цвета (RGB: 255,255,255), нижняя красного (RGB: 255,0,0).

    Как в текстовом формате описать эту картинку? 100 раз повторив слово "белый", а потом 100 раз слово "красный"? А нерусскогоговорящий компьютер это поймёт? Тогда заменяем слова на RGB-коды, 100 штук одного, и 100 штук другого цвета? А почему-бы не сократить до формулировки "255,255,255, повторить 100 раз; 255,0,0 повторить 100 раз"? Короче ведь, да? Ой, а на картинках бывают варианты в вертикальными линиями! Тогда и для них формулу придумать. А бывают градиенты, когда какой-то цвет меняется пошагово - делаем и для него формулу... И так далее.

    Вот так и получается не-текстовый формат, который компьютер должен расшифровать, и показать человеку. Кстати, а вы точно программист, если этого не знаете?
    Ответ написан
    Комментировать
  • Возможно ли синхронизировать действия на ПК? Управлять несколькими ПК одновременно?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вот пользовался когда-то такой утилитой, правда из-за 25-и одновременно открытых RDP-сессий она работала мееееедленно, поэтому и отказался.

    И вот не могу сейчас вспомнить её название. Могу только подсказать: посмотрите RDCMan (Remote Desktop Connection Manager), вот "хайли-лайкли" кажется это оно...
    Ответ написан
  • Как обновить все ячейки у определённого id?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну вот так:
    $uid = 222;
    if ($result = $mysqli->query("SELECT * FROM `121` WHERE `uid`='".$mysqli->real_escape_string($uid)."' LIMIT 1"))
    {
        $set = array();
        $row = $result->fetch_object();
        foreach ($row as $k => $v)
        {
            if ($k != "uid" AND $v !== 0)
            {
                $set[] = "`{$k}`='0'";
            }
        }
        $result->close();
        $mysqli->query("UPDATE `121` SET ".implode(", ", $set)." WHERE `uid`='".$mysqli->real_escape_string($uid)."'");
        unset($set, $result, $row);
    }
    Ответ написан
    2 комментария
  • Как объединить многомерный массив?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так это не объединение, это переформатирование...
    $new_arr = array();
    foreach ($old_arr as $r) {
        if (empty($r['id'])) {
            continue;
        }
        foreach ($r as $k => $v) {
            if (preg_match("/^man\d*$/s", $k)) {
                $new_arr[] = array('Team' => $v, 'id' => $r['id']);
            }
        }
    }
    Ответ написан
    Комментировать
  • Как сделать демона, который стартует и рестартит сервер?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Порекомендую monit.
    Очень удобен!
    Ответ написан
    Комментировать
  • Как сделать ID записи последовательными без пропусков?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Перенумеровать индекс:
    SET @pos := 0;
    UPDATE `table_name` SET `id`=(SELECT @pos:=@pos+1) ORDER BY `id` ASC;
    Ответ написан