• 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 и выясняем, когда последний раз выполняли задание: день, месяц, год назад. Если интервал больше, чем положено по типу регулярности задания, или его никогда не запускали, то запускаем его.
  • Какую организовать структуру таблиц, если требуется реализовать идею ведения типов какой-то сущности?

    @alexalexes
    Какие атрибуты имеют таблицы schedules_type_per_week, schedules_type_per_month; в чем их отличие?
    Есть подозрение, что на этапе проектирования БД упустили возможность сделать все по науке, и теперь структура БД заставляет писать неординарные решения.
  • Можно ли использовать настранице два цикла перебора массива?

    @alexalexes
    Если это не вывод таблицы с длинющими логами, то разработчик обязан написать лимитирующий запрос с оглядкой на то, что в PHP есть потолок в виде параметров среды set_time_limit и memory_limit.
    От нелимитируемой выборки будет страдать если не объект выборки, так механизм вывода и буферизации.
  • Можно ли использовать настранице два цикла перебора массива?

    @alexalexes
    Включите вывод ошибок, поставив в начале скрипта ini_set('display_errors', 1);
    Проблема может быть любая, если есть ошибки в интерпретации кода, то хорошо бы, чтобы вывод их был включен.
    Второй момент.
    Гораздо удобно разделять этапы на запрос данных и сборки вывода результата по формату и шаблону не прерывая канву php-кода.
    Третий момент не смешивайте процедурный и объектный стиль работы с БД.
    Если создали подключение в виде объекта $db, так и обрабатывайте результат, объектом $query_result_x, созданный в ходе сборки запроса.
    <?php
    // запрос данных
    $query_result_1 = $db->query("SELECT...");
    $data_1 = $query_result_1->fetch_all();
    $query_result_2 = $db->query("SELECT...");
    $data_2 = $query_result_2->fetch_all();
    
    // вывод результата по формату/шаблону
    
    $out = '';
    
    foreach($data_1 as $data)
      $out .= '<p>'.$data['field'].'</p>';
    
      foreach($data_2 as $data)
      $out .= '<p>'.$data['field'].'</p>';
      
    echo $out;
    ?>
  • Как создать правильный SQL-запрос с группировкой и условием?

    @alexalexes
    В group by должны быть добавлены выбираемые поля, которые не входят в аналитические функции max и count, это как минимум:
    group by b.lot_id,
        l.id,
        c.name,
        l.title,
        l.image_path,
        l.start_price

    Добавили что-то в select необернутое в аналитику, и тут же это нужно продублировать в group by. При наборе текста запроса - это работает на уровне рефлексов.
  • Может ли android приложение получить доступ к блокировке экрана?

    @alexalexes
    Забавная будет ситуация, если не учтете контекст часовых поясов.))
    Создаете проблемы с замками на пустом месте.