Ответы пользователя по тегу MySQL
  • Как можно отфильтровать пустые POST запросы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    у меня есть файл PHP который записывает все входящие POST запросы в БД
    Ох, я уже хочу посмотреть на этот сайт... Так красиво работа с пдо еще нигде не применялась. Форма ничего не требует, а значит можно не заполнять, собсно по этому и запросы пустые. В принципе надо сказать спасибо что пустые, а не с инъекциями...
    Ответ написан
    Комментировать
  • Как вывести несколько значений с одним ID в диапозоне?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Как можно вывести точно такой же результат, но с повторами ID 2, например?
    Если с самого начала проектировать бд в нормальной форме, а не то что получилось, то задача вполне нормально решается. Создается таблица отношений наборов к блюдам, и объединяется как многие ко многим, и всё будет нормально выбираться. А кажущаяся "оптимальность" хранения идентификаторов строкой в одном поле - ошибка почти всех новичков, тем не менее это отвратительная практика, рожденная некомпетентностью и ленью. Меняйте структуру, пока не поздно, на этапе разработки это сделать проще, чем когда уже внесете кучу данных в рабочий говнопроект. Делайте сразу хорошо, чтобы потом не страдать.
    Ответ написан
  • Вопросы по теории mysql?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Есть таблица, кликаем на заголовок таблицы. идет сортировка
    составной индекс если будут использоваться много полей, и отдельные если каждое из полей будет одиночной сортировкой.

    Сколько по времени должны выполняться все запросы на одной странице?
    В общем случае запросы должны выполняться за время меньше секунды, близкое к 1 секунде уже считается весьма высоким. Исключения составляют приложения с очень сложной логикой, где ожидание ответа не сильно меняет ценность результата. Например на сайте новостей 1 секунда это много, а на приложении с миллиардами записей статистики по мировым продажам жвачки в розницу для планирования расширения сети продаж с 30 объединениями/группировками/дистинкт выборками надцать секунд или даже минут это норм, так как задача другая совершенно.

    Как правильно составить запросы, сначала нужно исследовать запрос при помощи explain, а потом писать в php?
    сначала пишется запрос с требуемым результатом, затем его можно оптимизировать. Так как оптимизация редко идет по пути изменения самого запроса, переписывать его не надо, а explain подскажет где можно подкрутить что-то на уровне индексов/памяти, код при этом вообще не трогается. Да и по большому счету 99% типовых задач не пишутся руками, а пускаются через модель/орм.

    Нужно составлять запросы так, чтобы explain: type<>ALL
    Если вам нужен именно конкретный запрос с конкретным набором выходных данных, менять вы его не будете, логично что крутить вы можете только структуры данных и индексы, ну может еще что-то в настройках самого сервера.

    Подскажите, пожалуйста, хороший ресурс про создание индексов.
    Дока по используемой бд достаточно хорошо описывает работу с индексами. Более подробно можно спросить ребят профильно занимающихся работой с бд, Akina, Лентюй ...
    Ответ написан
    3 комментария
  • Как нормально входить в phpmyadmin?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    в конфигурационном файле phpmyadmin config.sample.inc.php прописал... а после этот конфигурационный файл просто сам удаляется
    По тому что читать надо, это образец конфиг файла, скопируйте в новый файл с названием config.inc.php, и нечего меняться не будет.
    Ответ написан
  • Массивы большой длины как передать их в колонку MySQL?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Vladik2109,
    да, как его правильно оформить
    Как обычный инсерт, единственно надо учесть кодировку и достаточную длину поля в таблице. В базе (очевидно) нельзя напрямую хранить объекты/массивы какого-либо языка, по этому просто добавляете строковое значение.

    и надо ли что то делать с массивом перед этим?
    Естественно, вы же не работаете с программной средой, а любое хранилище общего назначения не умеет работать с чужими структурами, по этому хранят сериализованные данные, в вашем случае массив надо будет сериализовать через JSON.stringify() (ну и парсить при вытаскивании из бд естественно).
    Ответ написан
    1 комментарий
  • Как вывести строки mysql в масив php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Смотреть логи, или выводить все что происходит в коде:
    ini_set('error_reporting',E_ALL); // выводим все ошибки и варнинги
    ini_set('display_errors', 1);
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // все ошибки соединениея и бд выводим
    $mysqli = new mysqli("localhost", "root", "", "testtest");
    $sth = $mysqli->prepare("SELECT * FROM test_eisenck WHERE id=?");// бинд не поддерживает ничего кроме "?"
    ...
    $arResult = $sth->fetch(); // читаем про фетч, а PDO::FETCH_ASSOC вообще от другого драйвера
    Ответ написан
    Комментировать
  • Как обработать запрос?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Хинт: var_dump($_POST);
    Хинт 2: ... name="areato" ... name="id" ... => $_POST['goclient'] (?????)
    Ответ написан
    Комментировать
  • Как вывести данные из mysql за сегодня и с условием времени?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    По заданному вопросу верным ответом будет ответ Rsa97, с учетом комментария:
    мне надо что бы с переменными sql, тоесть не указывать самому дату, а надо что бы в запросе автоматом курдейт был, т е сегодня.
    будет что-то типа
    SELECT * 
    from `table`
    where DATE(dateTimeField) = DATE(now()),
    and TIME(dateTimeField) >= '18:30'
    and TIME(dateTimeField) <= '19:00'
    Ответ написан
    Комментировать
  • Очень медленный mysql запрос из-за ORDER BY, как можно ускорить?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    explain
    Ответ написан
    Комментировать
  • Как сделать export mysql в Mysql workbench для phpmyadmin?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    емнип гтид нужен для репликаций, если на целевом сервере не настроена и не включена репликация, просто закомментируйте или удалите данную строку из дампа.
    Ответ написан
    Комментировать
  • MySQL. Как склеить несколько строк с одинаковыми данными?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    груп бай и груп_конкат
    Ответ написан
  • Как выполнить команды из файла .sql в python pymysql?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    mysql -u username -p database_name < file.sql
    Ответ написан
  • Как получить разницу двух полей таблицы Laravel?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    $result = Dok::selectRaw('(balance - revers) as results')->where('results', '>',  5000)->orderBy('results', 'desc')->get();
    Ответ написан
    Комментировать
  • Как достать все поля, но где один столбец уникальный?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    accountnujen, не знаю что у вас там не срабатывало, такая конструкция вполне рабочая и очевидная...
    SELECT * FROM rooms 
    WHERE id NOT IN (
       SELECT room_id 
       FROM `bron` 
       WHERE '2022-03-04 13:00:00' <= end 
       AND '2022-03-04 13:00:00' >= start 
      OR '2022-03-06 11:00:00' <= end 
      AND '2022-03-06 11:00:00' >= start
    )
    GROUP BY `type`
    ORDER BY `id`
    Ответ написан
  • Uncaught mysqli_sql_exception: Ошибка в запросе мускуля, что делать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Скоро с этим MySQL с ума сойду...
    Да, с таким подходом лучше бросайте это грязное дело...

    Ничего не понимаю!
    Ну так чтобы что-то понимать, нужно смотреть что происходит, знать что содержится в переменных и читать ошибки. Чтобы смотреть что происходит нужно использовать var_dump или ставить xdebug, чтобы знать что в переменных - нужно понимать какие переменные смотреть. В том числе знать почему возникают варнинги и все их исправить.

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Зависит от того как вы регистрируете. Или хотя бы от того как хотите это реализовать.
    Ответ написан
    Комментировать
  • Входит такая ошибка при работа с phpmyadmin а именно с cooki на php Warning: Undefined array key "user"?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых не ошибка, а предупреждение,
    во вторых, как написал Rsa97, кука у юзера изначально не имеет данного ключа, котрый вы задаете ниже данной проверки, соответственно и куку вы, из-за вывода варнинга, уже не установите. Про то что все операции по записи в куки можно провести только до вывода чего-либо в браузер вы видимо не в курсе...
    в третьих для такого рода проверок существует empty(), которая в том числе учитывает наличие переменной как таковой,
    в четвертых - "код связанный с бд" - дырявый кошмар, кроме того что переменные вообще никак не проверяются(?), они еще и пихаются прямо в запрос, вместо использования подготовленных выражений,
    в пятых код приведенный выше - адская каша из кода и разметки, возьмите за правило разделять код и разметку, если не по файлам, то хотя бы код сверху - разметка снизу, на основании уже вычисленных значений.
    Ответ написан
  • База данных MySql, как сделать переменную, с индивидуальным значением для всех аккаунтов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    То что вы так странно описываете, если я верно понял суть, называется ACL или RBAC, в зависимости от цели и логики приложения.
    Ответ написан
    Комментировать
  • Как можно увеличить скорость записи в бд mysql?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Подскажите, в чем может быть проблема? Спасибо!!!
    Подсказываю: Файлы хранятся в файловой системе. Хранить файлы в бд это палка о двух концах, оба из которых засунуты в ж...
    1) Файловые системы работают с файлами гораздо лучше текстовых хранилищ.
    2) Для отдачи файлов из файлов не нужно выполнять запросы к бд, десериализацию, декодирование из жсон, а затем из базе64, и гнать как ответ от пыха к серверу. Еще и гонять туда-сюда МНОГО данных, бд такое не любит. Просто отдаешь путь к файлу и его сервер напрямую читает.
    3) Проще настраивать кэширование на стороне клиента, когда файл отдается не через скрипт, а "как файл"
    4) Хранение в базе64 - это +30% примерно к весу изображения
    И еще дохрена проблем...

    Единственный более-менее аргумент за хранение в базе картинок - отдавать их по запросу только авторизированным пользователям. И то, тут правильнее хранить путь до них, сами картинки держать опять же в фс, выше документ рута, и отдавать их через readfile();

    В остальном хранить файлы в бд - решение такое же здравое, как хранить деньги в акциях Российских компаний...
    Ответ написан
    3 комментария