• Двойной запрос к базе?

    @alexalexes
    Вероятно, реализация заполнения произвольного набора полей данных.
    Если их всего две вариации - телефон и почта, то очень непрактичный вариант.
  • Запрос периода времени в течение дня?

    @alexalexes
    Временной отрезок можно посчитать из тех же соображений, что и номер дневного интервала. Набросал запрос. С помощью отладочного подзапроса, который представлен вместо таблицы t, можно увидеть особенности нумерации и определения отрезка на границах интервала и всего периода.
    SELECT t.event_date,
    case
      when TIME_TO_SEC(t.event_date) >= inter.begin AND TIME_TO_SEC(t.event_date) < inter.end -- типичный случай, определяем номер интервала
      then floor((TIME_TO_SEC(t.event_date) - inter.begin) / inter.width) + 1
      
      when TIME_TO_SEC(t.event_date) = inter.end -- особый случай, определяем правильный номер интервала ровно на окончании дневного периода
      then floor((inter.end - inter.begin) / inter.width)
      
      when TIME_TO_SEC(t.event_date) < inter.begin  -- маркируем номер интервала до начала дневного периода
      then -1 
    
      when TIME_TO_SEC(t.event_date) > inter.end -- маркируем номер интервала после окончания дневного периода
      then -2
      
      else null -- экстраситуация, если when-then охватывают все условия, то сюда никогда не попадем 
    
    end as full_interval_number,
    case
      when TIME_TO_SEC(t.event_date) >= inter.begin AND TIME_TO_SEC(t.event_date) < inter.end  -- типичный случай, определяем время начала интервала
      then SEC_TO_TIME(floor((TIME_TO_SEC(t.event_date) - inter.begin) / inter.width) * inter.width  + inter.begin)
      
      when TIME_TO_SEC(t.event_date) = inter.end -- особый случай, определяем правильное время начала интервала ровно на окончании дневного периода
      then SEC_TO_TIME(floor((TIME_TO_SEC(t.event_date) - inter.begin - 1) / inter.width) * inter.width  + inter.begin)
      
      when TIME_TO_SEC(t.event_date) < inter.begin -- если за пределами дневного периода, то время окончания за-null-яем
        OR TIME_TO_SEC(t.event_date) > inter.end
      then null
      
      else null -- экстраситуация, если when-then охватывают все условия, то сюда никогда не попадем 
    
    end as full_interval_begin,
    case
      when TIME_TO_SEC(t.event_date) >= inter.begin AND TIME_TO_SEC(t.event_date) < inter.end -- типичный случай, определяем время окончания интервала
      then SEC_TO_TIME(ceil((TIME_TO_SEC(t.event_date) - inter.begin + 1) / inter.width) * inter.width  + inter.begin)
      
      when TIME_TO_SEC(t.event_date) = inter.end -- особый случай, определяем правильное время окончания интервала ровно на окончании дневного периода
      then SEC_TO_TIME(ceil((TIME_TO_SEC(t.event_date) - inter.begin - 1) / inter.width) * inter.width  + inter.begin)
      
      when TIME_TO_SEC(t.event_date) < inter.begin -- если за пределами дневного периода, то время окончания за-null-яем
        OR TIME_TO_SEC(t.event_date) > inter.end
      then null
      
      else null -- экстраситуация, если when-then охватывают все условия, то сюда никогда не попадем
    
    end as full_interval_end
    FROM (select STR_TO_DATE('01.06.2018 08:50:00', '%d.%m.%Y %H:%i:%s') event_date union all -- до дневного периода
          select STR_TO_DATE('01.06.2018 08:59:59', '%d.%m.%Y %H:%i:%s') event_date union all -- за секунду до начала дневного периода
          select STR_TO_DATE('01.06.2018 09:00:00', '%d.%m.%Y %H:%i:%s') event_date union all -- ровно на начале дневного периода первого интервала
          select STR_TO_DATE('01.06.2018 09:00:01', '%d.%m.%Y %H:%i:%s') event_date union all -- ровно после одной секунды в первом интервале дневного периода
          select STR_TO_DATE('01.06.2018 09:14:59', '%d.%m.%Y %H:%i:%s') event_date union all -- за секунду до окончания первого интервала
          select STR_TO_DATE('01.06.2018 09:15:00', '%d.%m.%Y %H:%i:%s') event_date union all -- начало второго интервала
          select STR_TO_DATE('01.06.2018 09:15:01', '%d.%m.%Y %H:%i:%s') event_date union all -- ровно после первой секунды второго интервала
          select STR_TO_DATE('01.06.2018 17:59:59', '%d.%m.%Y %H:%i:%s') event_date union all -- ровно за секунду до окончания дневного периода  
          select STR_TO_DATE('01.06.2018 18:00:00', '%d.%m.%Y %H:%i:%s') event_date union all -- ровно на границе дневного периода
          select STR_TO_DATE('01.06.2018 18:00:01', '%d.%m.%Y %H:%i:%s') event_date union all -- ровно секунда после дневного периода
          select STR_TO_DATE('01.06.2018 18:10:00', '%d.%m.%Y %H:%i:%s') event_date) t,       -- после дневного периода
        (select TIME_TO_SEC('09:00:00') as begin, -- начало дневного периода
                TIME_TO_SEC('18:00:00') as end,   -- окончание дневного периода
                TIME_TO_SEC('00:15:00') as width  -- ширина интервала
         ) inter
  • Зашифрованный адрес картинки в браузере?

    @alexalexes
    Если в браузере "Сохранить как..." не сработало, то тупо прогнать url через любой онлайн-конвертер.
  • Как реализовать следующий запрос в postgresql?

    @alexalexes
    Я понял специфичность выборки.
    Аналитические функции тут не помогут.
    В ходе запроса нужна пользовательская переменная, которая бы хранила последний удачно выбранный ID_2 по условию и одновременно отсекала выборку.
    Если найдете нечто в PostgreSQL, куда можно писать и читать переменную в ходе выборки, то достаточно переписать запрос MySQL, а так, извините, процедурка - отдельно, декларативка - отдельно.
  • Как обойти ошибку при добавлении столбца в БД?

    @alexalexes
    Добавьте в alter table значения по умолчанию для проблемных столбцов, но проконтролируйте логику приложения, чтобы оно правильно интерпретировало новое значение, если где-то используется 0.
  • Зашифрованный адрес картинки в браузере?

    @alexalexes
    Бинарник картинки вставлен прямо в атрибут src, в этом виде он не является указателем на что-либо, содержимое тега полностью автономно (по принципу "все свое ношу с собой"). На стороне сервера этот бинарник может быть сгенерирован как угодно. Вам нужно просто найти ту функцию, что выдает этот ресурс. Функция может сама генерировать контент, а может просто копировать ресурс из другого места. Пока не найдете, где она расположена, не поймете, что используется за основу каптчи.
  • Как заставить крайние правые пункты меню трансформироваться в выпадающий блок при ресайзе окна?

    @alexalexes
    Ну, допустим, ellipsis вы сделаете в css. А как наполнять выпадающий список будете?
    Если не на resize так на click по выпадающ. списку нужна будет та же самая реализация функции.
  • Как решить проблему для мониторов 13 дюймов?

    @alexalexes
    @media (min-width: 992px) /* на этот медиазапрос */
    .query-filters__inner /* на этот селектор */
    {
        top: 6rem;  /* поставьте больше rem-ов */
    }
  • PhpMyAdmin. Появляется ошибка из-за php_max_input_vars. Как исправить?

    @alexalexes
    Попробуйте уменьшить число отображаемых строк до 25.
    Хотя в целом очень странно, если в таблице не так много полей, то список строк не будет содержать столько элементов (эта форма, кстати, и ругается, вероятно, на число элементов input).
  • PhpMyAdmin. Появляется ошибка из-за php_max_input_vars. Как исправить?

    @alexalexes
    В принципе, ничего криминального нет, кроме переподключения при каждом запросе.
    Подключение лучше вынести и дескриптор подключения либо передавать в функцию с помощью глобальной переменной, либо с помощью параметра функции:
    $db = db_connect();
    
    foreach ($countries as $country) {
    	echo $country . "<br>";
    	db_add_country($country);
    }
    
    function db_add_country($country){
    	global $db;
            $query = "INSERT INTO countries VALUES(NULL, ?)";
    	$stmt = $db->prepare($query);
    	$stmt->bind_param("s", $country);
    	$stmt->execute();
    }

    Сервер перезапускали после того, как меняли php.ini?
  • PhpMyAdmin. Появляется ошибка из-за php_max_input_vars. Как исправить?

    @alexalexes
    А, тут другое. Рестарт сервера делали, после того как php.ini исправили?
  • Почему невозможно сравнение?

    @alexalexes
    Компилятор не знает, как сравнивать ваш объект.
    Нужно перегрузить оператор == для шаблона класса.
    В методе-перегрузке опишете, что значит, когда объекты равны.
  • Безопасны ли такие SQL-запросы?

    @alexalexes
    Именно. Если для числовых типов данных можно сделать банальное приведение к типу, то стоковые параметры только через bind передавать.
    Вообще, красиво смотрится, когда в коде есть четкие этапы взаимодействия с СУБД:
    connection -> prepare query -> bind params -> execute -> disconnect. И связывание параметров - это как раз один из этих этапов. Плюс хорошо, если на каждом этапе будет обработка возможных ошибок.
  • Безопасны ли такие SQL-запросы?

    @alexalexes
    Когда же из всех учебных материалов уберут примеры склеивания строк запросов с параметрами. Пока новичок не освоит bind_param-функцию, даже чтоб не пытался практиковаться с такими запросами, это вредно.
  • Как получить результат одного из запросов в транзакции?

    @alexalexes
    Не работает.

    Не работает, значит, нужно выяснить где не работает. Выводим var_dump-ом все, что может повлиять на результат + вывод ошибок sql:
    $address = mysqli_fetch_assoc($result);
    var_dump($address);
    $is_deleted = mysqli_query($resource, "DELETE FROM addresses WHERE id = {$address['id']};");
    var_dump($is_deleted);
    $is_updated = mysqli_query($resource,"INSERT INTO payments VALUES ($userId, $productPrice)");
    var_dump($is_updated);
    echo mysql_error();

    Вероятно, вы обнаружите false на $is_deleted. Причина - {}.
  • Почему не работает sql запрос?

    @alexalexes
    INT(100) NOT NULL DEFAULT '0'

    Тип данных Int, а даете строку для значения по умолчанию.
  • Как найти причину перегрузки MySQL?

    @alexalexes
    Запросы к SQL-серверу могут идти не только от прямых действий пользователей, но и от вспомогательных процессов, например процесса резервного копирования, или иного процесса, запускаемого по крону.
    В момент, когда сервер встает, вы изучали список процессов, для каких таблицы блокировались, а для каких нет, какого характера была недоступность сервера для остальных пользователей? Именно, ища в списке процессов активность не пользовательского приложения, а что-то еще.
  • При работе на ноуте моментально гаснет экран. В чем проблема?

    @alexalexes
    Думаю, без дополнительных экспериментов сложно понять, с чем сопряжено появление ошибки. Можно попробовать подключить отдельный комплект мыши с клавиатурой и проверить реакцию (без софта для горячих клавиш). Это позволит исключить из виновников корпус и софт горячих клавиш встроенной клавиатуры.
    В рамках другой гипотезы можно помучить сам браузер на предмет глючности функции масштабирования, то есть воспользоваться масштабом не ctrl + скролл, а из главного меню.
  • Что не так с командой grant?

    @alexalexes
    Пароль писали в кавычках или без? Пароль имеет символы, которые следует экранировать (те же кавычки)?