Ответы пользователя по тегу MySQL
  • Почему mysql не подключается к удалённой базе mysql?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Какая ошибка выдаётся? Что по это поводу говорит гугл? Сервер только что установлен? А он слушает интерфейс 0.0.0.0 или только 127.0.0.1? А порт 3306 открыт для доступа извне? Уточните пожалуйста.
    Ответ написан
    Комментировать
  • Как безопасно открыть доступ к MySql для разработчиков?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    мне предстоит предоставить доступ к mysql ещё паре человек, но им я не могу дать необходимые логин/пароль для подключения к mysql через ssh, всё таки это уже и доступ к серверу.

    1. Вы хотите дать доступ, но не можете дать доступ, потому что таким образом вы дадите доступ?
    2. Почему у вас доступ к MySQL и к серверу - это одно и то же? У вас пароли у root centos и root mysql одинаковые?


    По существу. Дайте разрабам отдельный сервер. Если нельзя, то дайте разрабам ограниченную учетку на сервере, чем это плохо? Или разрешите mysql слушать всё, файрволом закройте все, кроме необходимых адресов. Создайте отдельного пользователя для разработчиков, дайте ему необходимые права в базе. У mysql root поставьте доступ только с localhost.
    Ответ написан
    4 комментария
  • Почему ошибка в запросе обновления в БД?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Проблема во всем коде. Вы ведь не чистите входные данные. Может у вас в $_POST дрянь всякая лежит и мешает своим присутствием.

    Ну не знаю... попробуйте строку
    "UPDATE books SET name='$name', author='$author', year=$year, pages='$pages', lang='$lang', description='$desc', categoryid=$categoryid WHERE id=$bookid"
    в отдельную переменную засунуть и посмотреть что получилось и от этого уже мыслить. Может в готовой строке запроса проблема будет очевидней.
    Ответ написан
    Комментировать
  • Как хранить состояния просмотра лейблы "new" пользователем?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Заведите отдельную NoSQL базу, и туда пишите связку user_id-item_id. Если записи нет, то метка на странице ставится, при этом записывается эта самая связка (тогда при обновлении эта пара уже будет в базе и метка автоматом не поставится). Если вы используете ORM, то они помогут вам без особой писанины, если не пользуетесь, то придется все конечно писать самому.

    Можно еще добавить поле со временем просмотра в NoSql, то можно будет по расписанию вычищать базу от ненужных записей. Если добавить и "длительность новизны" в MySQL, то будет возможность игнорировать проверку на просмотр.

    ИМХО, для простого рода логирования NoSQL подходит очень даже хорошо.
    Ответ написан
    Комментировать
  • Как вытащить с помощью LEFT JOIN поля?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Простите, пишу с телефона...
    SELECT c.`title` as 'title_1', v.title as title_2...
    Ответ написан
    Комментировать
  • MySQL как изменить определенную часть поля?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Если у вас возник такой вопрос, то у вас непродуманная архитектура. Разделите на три поля и меняйте соответствующее. А в данной ситуации только UPDATE запрос на измение всего поля. С предварительным формированием новой строки, естественно.
    Ответ написан
  • Существует ли запрос типа WHERE `id` = `1`,`2`,`3`,`4`,`5` ?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    А чем вас WHERE IN не устраивает?
    SELECT `name` FROM `user` WHERE `id` IN (1,2,3,4,5);

    Читать про SELECT в области
    In the WHERE expression, you can use any of the functions and operators that MySQL supports, except for aggregate (summary) functions. See Section 9.5, “Expression Syntax”, and Chapter 12, Functions and Operators.

    А потом всю статью Expression Syntax.
    Ответ написан
    1 комментарий
  • Как организовать формирование отчётов с помощью PHP и MySQL?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Вариант запуска по крону вполне нормальный, fputcsv() делает именно то, что надо. А вот PDF генерировать предлагаю либо через mpdf, либо через tcpdf - они посвежее... намного посвежее.
    Ответ написан
  • Обработка базы данных IP адресов с помощью PHP

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Если не критично по БД, то лучше использовать PostgreSQL - у них даже тип данных для этого есть, а искать одно удовольствие.

    Если же важен MySQL, то проще хранить 5 полей - 4 октета и количество бит в маске. А простейшую логику реализовывать уже самому.
    Ответ написан
  • Почему не устанавливаются связи между таблицами?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Все работает.
    Ваши скрипты создали таблицы, но запрос
    INSERT INTO `citys` (id_country, name) VALUES (666, 'Курган');

    логично вызвал ошибку
    #1452 - Cannot add or update a child row: a foreign key constraint fails (`test`.`citys`, CONSTRAINT `FK__countrys` FOREIGN KEY (`id_country`) REFERENCES `countrys` (`id`))

    Что по-русски в данном контексте "Сначала добавь страну с номером 666".

    И да. Множественное число.
    Ответ написан
    3 комментария
  • Как реализовать хранение друзей в БД?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    А что если хранить немного по другому?

    Например не создавать дублирующую запись в обратную сторону, а изначально использовать еще одно поле в троичной системе счисления: ± 1 когда один пользователь добавил другого (знак указывает направление заявки) и 0 когда заявка подтверждена.

    Тогда запрос будет один на выборку пары, а состояния отозвать/принять заявку и удалить из друзей будут определяться знаком числа в дополнительном поле.

    Из очевидных плюсов. Места занимать будет примерно в два раза меньше — мелочь, а приятно.
    Минусов не сразу не соображу.
    Ответ написан
    3 комментария