Ответы пользователя по тегу MySQL
  • Как сделать выборку по трём таблицам?

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

    GROUP BY p.id
    ORDER BY s.rating DESC i.int DESC
    Ответ написан
    2 комментария
  • Ошибка MySQL: ER_PARSE_ERROR, что делать?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    const [row] = await dbConnection.query( логин или нет. 
            "SELECT * 
             FROM `users` 
             WHERE `name` = ? 
             AND `password` = ?",
         [username, password] // <- тут ОДИН МАССИВ, RTFM!!!
        );
    Ответ написан
  • Как реализовать "живой" поиск на базе Node и MySQL?

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

    На поле набора вешается онкейап листенер,
    по событию содержимое поля отправляется аяксом на сервер,
    там делается выборка нескольких значений, удовлетворяющих поисковой строке,
    обратно присылается этот набор, либо в виде жсон и дальше парсится в хтмл, либо сразу сформированный хтмл,
    данные лепятся как список ниже поисковой строчки, на кнопки вниз/вверх подсвечиваем строки из подсказки (фокус с поля надо убрать),
    по ентеру в поле вносим полную строку из подсказки и субмитим форму поиска, либо по клику тоже самое.

    Нюанс: По кейап надо ставить небольшую паузу, чтобы не спамить запросами.
    Ответ написан
    Комментировать
  • Как оптимально построить таблицу?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Сразу видно несколько проблем:
    1) У таблицы нет индекса (2 нф), возможно это пока только представление в экселе, но надо учесть.
    2) Очевидно что таблица имеет тенденцию к расширению по столбцам, что, очевидно, плохо.
    3) п.2 в том числе образуется из-за смешивания сущностей в одной таблице, которые нужно разнести по рзным таблицам и связывать пивот таблицами (3 нф).

    Вообще вам больше и точнее подойдет Нормальная форма Бойса-Кодда, хорошо и просто описанная здесь.
    Ответ написан
    Комментировать
  • Выборка из нескольких таблиц одной структуры MySQL?

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    1) для начала проверить что что-то вообще работает, тупо передать руками созданный объект из 1-2 строк.
    2) Сколько записей в comments? может их там 5 миллионов и он все пытается передать на фронт? Вообще запрос без условий, лимитов и сортировки выглядит весьма странно...
    3) Смотреть консоль, что вернулось, что пишет нетворк - статус, тело ответа.
    Короче стандартная отладка, ничего нового.
    Ответ написан
  • Возможно ли сделать создание блока комментария с этим кодом, используя данные из MySQL?

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

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Что за приложение, и почему у вас таблица растет "вширь"?
    1) При проектировании бд, если таблица запланировано растет в ширину, 99,9% что это кривой дизайн бд.
    2) Почему у вас логика доступа выносится на уровень бд, неужели у вас каждый пользователь заходит в бд руками через свой логин?
    3) Опишите задачу нормально, прям очень подозреваю что вы что-то типичное решаете через не то место...
    Ответ написан
    Комментировать
  • Пытаюсь запросить данные из MySQL через PHP. Где ошибка?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Выводится только "соединение установлено", а так - ничего
    Во первых - включить вывод ошибок, в логи же вы не смотрите...
    Во вторых - куча ошибок, непонятно откуда вообще появившихся. Все плохо.
    $link = mysqli_query($link, "SELECT * FROM 'table-name' WHERE USER_ID = 1620");
    Сам линк зачем-то затирается результатом выполнения запроса, внутри запроса имя таблицы зачем-то в кавычках (либо убрать, либо использовать обратные кавычки), потом вообще повтор и бред -
    $query = "SELECT * FROM 'table-name' WHERE USER_ID = 1620"; //снова кривой запрос, теперь уже в переменной, зачем?
    $result1 = mysqli_query($link, $query) or die(mysqli_error($link)); //Линк тут уже заменен результатом выборки, 
    //так что там не ресурс подключения, но варнинги мы не смотрим, так что пофиг же, да?

    Похоже что код взят из какого-то туториала 15летней давности, и над ним издевался ничего не понимающий вивисектор...
    Ответ написан
    Комментировать
  • Выводится список сотрудников БД, как по ФИО сотрудника(name), которое пользователь введёт с клавиатуры вернуть данные этого сотрудника из БД?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    execute's second parameter represents a list of the objects to be converted
    cursor.execute(sql, ['Иванов Иван Иванович'])
    Ответ написан
    2 комментария
  • Как можно отфильтровать пустые 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'
    Ответ написан
    Комментировать