Ответы пользователя по тегу MySQL
  • 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
    Как связана отправка полей и вставка в базу?
    (Ответ - НИКАК)
    Ответ написан
    Комментировать
  • Какие опции отвечают за уникальное значение в столбце MySQL?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    так вот, как видно в таблице столбец approved имеет уникальное значение.
    не видно, кроме того вы не совсем верно понимаете значение параметра "уникальное".
    1. Возможные варианты 0 или 1
    enum и задать значения.
    2. Значение 1 может быть только в 1 строке
    имхо проще сделать запрос на выборку where approved = 1 и уже если выборка не пустая смотреть что там у вас по логике должно быть.

    PS: что то пониже спины подсказывает мне что задача которую вы таким образом пытаетесь решить создаст вам еще больше проблем. Где то при проектировании у вас жопа ошибка, попробуйте решить как-то иначе, или спросите тут ка сделать.
    Ответ написан
  • Как создать правильный запрос к Mysql?

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

    Подозреваю что некий порядок там есть, однако не понимаю причины по которой он вас не устраивает. Id не является полем для сортировки, кроме случаев, когда надо восстановить порядок добавления. Если нужно какое-то поле для сортировки отличное от даты (хотя нафига? есть дата, по ней отлично сортируется), добавьте поле order, и мучайте его. Лично я не вижу смысла в ваших манипуляциях, окромя нежелания вникнуть в понимание как работают запросы.
    Ответ написан
    Комментировать
  • Как привязать выбор города к выбранной стране?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Как делается выборка? Или "я его поставил и запустил, оно не работает"?
    Ответ написан
  • (PDO) Ошибка при подключении к MySQL?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Чет я не понял -
    сейчас реализовано именно путем хранения и обработки массивов
    - храните данные в пхп? В файлах? или... Не понятно кароче.

    Мне видится в любом случае бд(мускуль, как наиболее распространенный, например) с отдельными таблицами на ваши массивы, пхп неплох для такого в качестве бэкенда, если нужно что-то чтобы мегабыстро работало - кеш в редис. Это достаточно стандартная связка, не вижу смысла что-либо изобртать по новой.
    Ответ написан
    Комментировать
  • Бекенд, как перенести сайт на ноутбук?

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