Задать вопрос
Ответы пользователя по тегу MySQL
  • Почему при регистрации и выходе из нее происходит ошибка?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Мои глаза... Где вы этот кошмар пишете? В застенках гестапо? Кто вас так мучает? И зачем вы мучаете нас?

    написано черным по английскому: не отправляются заголовки патамучта уже начат вывод данных, который начат в dy_header.php, соответственно никакие куки
    setcookie(session_name(), '', time()-2592000, '/');
    тут уже не запишутся. Учите ну хоть какие-то основы прежде чем писать фикалокод.
    Ответ написан
    4 комментария
  • Не нравильно работает get запрос?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Если сервер не боевой и стадия разработки не релиз - ВКЛЮЧИТЬ ВСЕ ОШИБКИ И ВАРНИНГИ
    2) Если нет ошибки в браузере - смотри в логах
    3) Если использовать данный код можно получить много нехорошего, от скл инжекции до "поморде" от тимлида.
    Ответ написан
    Комментировать
  • Как лучше организовать хранение временных данных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    redis
    Ответ написан
    Комментировать
  • Mysql вставка с возвращенным id?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    да, в SQL есть возможность определять переменные и использовать их в транзакциях.
    Ответ написан
    Комментировать
  • Can't connect to MySQL server on (113 "No route to host")?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    server on "1.1.1.1" скорее всего не лежит в вашей подсети.
    1) Проверить правильно ли введен адрес (обычно внутренние подсети имеют адреса вида 10.0.0.х или 192.168.0.х, ваш вариант не типичен)
    2) Проверить IP и маску подсети на машине с которой идет запрос, если машины находятся в разных подсетях нужно настраивать маршрутизацию, или, в случае если они не разделены роутерами/шлюзами, добавить IP целевой подсети.
    3) проверить физический коннект, бывает тупо обрыв кабеля.
    Ответ написан
    Комментировать
  • Как загнать в массив всё id записей?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Для начала - не называть поля таблиц на румынском, используйте общепринятый стандарт - английские названия в нижнем регистре.
    2) Читать про базы данных, выполнение запросов в пхп и понимать SQL на уровне "выбрать и отсортировать по полю".
    3) Учить операторы for, foreach, while, понимать для чего и как их использовать.
    Ответ написан
  • MYSQL. Как быстрее и правильнее проверять наличие записей?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    навскидку таких операций в sql не помню, скорее всего их и нет. Проще вернуть набор
    select id from table WHERE id IN (1,2,3...) и на клиенте сравнить массивы. Все равно я так понимаю вы на клиенте формируете запросы.
    Ответ написан
  • Какой метод правильный для удаленного доступа к MySQL?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    самый простой вариант - хранить json, подходит в случае если у вас не будет происходить выборка из бд по этим полям, т.к. никакой индекс не даст нормального поиска по таким строкам, это оверхэд и не каноническое хранение. В идеале - отдельная таблица со значениями каждого набора как строки, связь по ключу с парентом(как заметили в комментариях - связь один ко многим).
    Ответ написан
    2 комментария
  • Насколько сильная разница между запросами * и `id` в MySQL?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Сильно ли отличаются запросы, в плане нагрузки БД если в базе примерно 20 столбцов?

    скорее, в таблице 20 столбцов, это раз, во вторых если база грузит проц значит идет выборка без индексов, либо с большим объемом данных. Не вижу здесь замера выполнения селекта, не вижу индексов, не вижу explain от мускуля. На такой задаче это все гадание по кофе и чаю.
    Ответ написан
    Комментировать
  • Как лучше обновлять данные из MySQL на сайте в режиме реального времени?

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Это решение в стиле - "давайте на ралли поедем на асфальтовом катке, им мы управлять умеем, и едет не очень быстро, с трассы не вылетим!".

    Выберите все значения запросами в что-то более программное, и там крутите, будет быстрее, надежнее и логичнее.
    Например питон, пхп, ява, да практически любой язык какой знаете будет лучше чем так.
    Ответ написан
  • Можно ли создать переменную, которая будет всегда храниться на сервере?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    что запрещает их держать в таблице отдельной?
    Ответ написан
  • Массив из input нужно отправить через ajax, принять, и записать в базу?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    var video = $("input[name='video[]']").val();

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Правильный (классический) вариант хранения:
    - в базе создается таблица
    id | filename | parentid | description
    где
    *id - автоинкремент инт
    *filename - имя файла (или путь до файла и имя файла) - варчар подлиннее, сколько имена могут быть, включая путь, если с путями храните;
    *parentid - инт - ключ принадлежности к родительскому объекту (если объектов больше 1 добавляется поле objecttype);
    *description и прочие поля не обязательны, выполняют функции хранения доп. информации, например тегов;

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    пхп ини настроить:
    default_charset = "utf-8"
    Ответ написан
  • Как написать запрос?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как и везде, есть несколько путей, например:
    * Крон каждые 10 минут, это будет не большая нагрузка и не думаю что игровая механика поломается если вещь продастся не через час, а через час и 5 минут.
    * Не делать крон, а при очередном запросе списка вещей проверять на наличие "устаревших" шмоток и автоматически менять на деньги. Тогда нагрузка будет более выборочной, "размазанной" во времени, + у вас все равно будет запрос к шмотке, тут ее и обрабатывать, сэкономите кучу запросов и ресурсов.
    Ответ написан
    Комментировать
  • Отправка с формы в 2 столбца?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как связана отправка полей и вставка в базу?
    (Ответ - НИКАК)
    Ответ написан
    Комментировать