Задать вопрос
  • Зашифрованный адрес картинки в браузере?

    @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
    Пароль писали в кавычках или без? Пароль имеет символы, которые следует экранировать (те же кавычки)?
  • Как получить несколько полей через mysqli_prepare в php?

    @alexalexes
    В смысле, не можете?
    print_r($rows[0]); // тут у вас первая строка
    print_r($rows[1]); // а тут - вторая и тд.
  • Как получить несколько полей через mysqli_prepare в php?

    @alexalexes
    Ну, тогда что вам мешает использовать цикл?
    $rows = array();
    while($row = mysqli_fetch_assoc(mysqli_stmt_get_result($posvivodi)))
      $rows[] = $row;
    print_r($rows);

    Или забрать все строки в один присест:
    $rows = mysqli_fetch_all(mysqli_stmt_get_result($posvivodi));
    print_r($rows);
  • Как получить несколько полей через mysqli_prepare в php?

    @alexalexes
    Что возвращает mysqli_stmt_execute ? И уверены ли вы, что запрос должен возвращать 5 строк, не больше не меньше?
  • Как получить новое значение при смене указателя в радиокнопке, а не старое?

    @alexalexes
    Не писал в WPF. Однако, порядок и полнота элементов свойства, наверное, имеет значение.
    Может, все таки, так писать:
    Binding="{Binding ElementName=PART_SelectVariable_1,  Path=IsChecked}"
  • Обновление полей при переходе назад/вперед?

    @alexalexes
    Валидатор ругается на незаполненость полей или на некорректность заполнения, во время загрузки предыдущей страницы?
  • Какую организовать структуру таблиц, если требуется реализовать идею ведения типов какой-то сущности?

    @alexalexes
    Что-то много сущностей.
    Если структура описывает способ хранения записей регулярных действий, то достаточно таблиц: schedule, schedule_type, schedule_log и schedule_status.

    // таблица расписания заданий
    Каждая запись описывает задание, когда его начинать и с какой периодичностью
    schedule
    (
    # id, // идентификатор задания
    * type_id, // тип регулярности задания
    * device_id, // устройство
    * client_id, // клиент
    * create_date, // дата создания задания
    * begin_date, // дата и время первого действия задания
    o end_date, // дата окончания задания (может отсутствовать и быть не кратна регулярности)
    * active // выполнять ли задание
    )

    // Таблица-справочник типов периодичности
    schedule_type
    (
    # id,
    * name
    )

    // Таблица - логи задач
    Когда происходило очередное выполнение задачи, и куда сложили результат (файл восстановления)
    schedule_log
    (
    # id, //
    * status_id, // статус выполнение действия
    * schedule_id, // по какому периодическому заданию выполнялось это действие
    * begin_date, // дата и время непосредственного начала выполнения действия
    o end_date, // дата и время окончания данного действия, если отсутствует, то действие сейчас выполняется
    * backup_name, // результат выполнения
    o error_info // сообщение об ошибке в случае краха выполнения действия
    )

    // Статус выполнения действия задания (выполняется, завершено успешно, завершено с ошибкой)
    schedule_status
    (
    # id,
    * name
    )

    Как работать с этой структурой?
    Есть запись регулярного задания в schedule.
    Смотрим, активно ли оно по атрибуту active, если активно, то проверяем, что текущее время сейчас в периоде [begin_date, end_date] выполнения этого задания. Если да, то смотрим логи schedule_log, смотрим на атрибут schedule_log.begin_date и выясняем, когда последний раз выполняли задание: день, месяц, год назад. Если интервал больше, чем положено по типу регулярности задания, или его никогда не запускали, то запускаем его.