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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    UPD2: Кароче так: Из долгих диалогов - задача обойти всю базу, выбрать по 1 юзеру, затем выбрать все одинаковые пары юзер - бренд, сделать с ними шаманство, записать обратно статус 1.
    1) Получаем возможные пары юзер - машина, запоминаем в массив.
    SELECT distinct
      `name`, `car_brand` 
    FROM 
      `drivers`
    where `status` = 0

    2) далее форичем перебираем значения и подставляем в запрос:
    SELECT *
    FROM   `drivers`
    where   `name` = '$name' and `car_brand`= '$brand' and `status` = 0

    3) получаем выборку, делаем магию, делаем апдейт по ид.
    Ответ написан
  • Нужно чтобы при появлении новой записи в базе она выводилась в новом html блоке на странице...?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    А есть возможность переписать серверные скрипты на, допустим, С, или чем то компилируемом, питоне например, или это не входит в проект? Это серьезно ускорило бы работу системы.
    Диски - если есть возможность и еще не сделали - поставить ssd, это реальный прирост даст при работе с файлами.
    Если есть работа со значениями key->value ставьте редис или мемкеш и оптимизируйте под них скрипты.
    Остальное без конкретных деталей сложно сказать, бо скрипты с такими расчетами сложно невидя оптимизировать.
    Ответ написан
    5 комментариев
  • Как вывести нужные значения?

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Собсно в чем проблема? У вас виснет сервер, не хватает соединений к базе? Пользователи прут стремительным домкратом и сервер не успевает отдавать незакешенные запросы?
    Если нет - какие проблемы? Так есть и так должно быть, выборка из таблиц с актуальными данными всегда будет происходить из базы напрямую, если джоин не включает 4 таблицы по овер 10 мильёнов записей - все будет работать быстро, ну, если структура верная. А если нет - смотрите как оптимизировать базы, кеш здесь вообще как бы ниочем.
    Ответ написан
    2 комментария
  • Как оптимально организовать хранение и редактирование настроек сайта?

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

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

    По 10 записей это с утра до утра будете фигачить, думаю не меньше 200-500 записей за раз, а в идеале 1000 норм. будет. Ибо больше времени на соединение потратите чем на выборку и инсерты.
    Ответ написан
  • MYSQL ошибка 2002 как решить проблему?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    >>See system logs and 'systemctl status mysqld.service' for details.
    >>Loaded: error (Reason: No such file or directory)
    при падении грохнулось что-то из файлА, переустановите, только базы отдельно слейте.
    Возможно закончилось место или квота на дисковое пространство.
    Ответ написан
  • Как пофиксить медленную запись в БД MySQL?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ничего не мешает поменять метод на post. В коде изменится только $_GET на $_POST переменные.
    Перед заливкой в базу обычно неплохо проверять данные на "качество", загружать данные в базу прямо из пост/гет - плохая практика.
    Подумайте о том как будут именоваться файлы, как их структурировано хранить и привязать к определенной записи.
    Как избежать дублей и как удалять их при удалении записи.
    Удачи )
    Ответ написан
    Комментировать
  • Как оптимизировать запрос mysql?

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

    Таблица с менее 1 000 000 записей в принципе не является большой, в данном случае очевидно есть проблема с настройкой.

    Посмотрите не избыточна ли длинна поля, если поле помещается в 30 символов - ставьте 30, не надо делать "с большим запасом" индексные поля. Это нагружает выборку и раздувает индекс.
    Ну и собсно создайте индекс на поле.
    Ответ написан
    3 комментария
  • Не работают сессии php, в чем дело?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    как у вас все работает? city.php инклудится в index?

    ini_set('session.gc_maxlifetime', 3600*24*30);
        ini_set('session.cookie_lifetime', 3600*24*30);
        session_start();

    Сначала настраиваем сессию, потом вызываем.

    session_destroy(); убираете, зачем она там вообще? Если вы делаете инклуд, то вы сначала стартуете сессию, потом ее грохаете. Какой смысл, если unset($_SESSION['locality']); должно все что надо сделать.

    Если перед session_start() будет что - либо выводиться(хтмл или ошибка) сессия стартовать не будет. То же касается и session_destroy();

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

    Если это все у вас отдельные страницы(то есть есть еще страницы кроме index.php) во всех в начале должно быть session_start();, иначе сессии работать не будут. Эта директива создает связь куки в браузере и сессионной записи на сервере, без нее механизм сессий работать не будет, т.е. сессию нужно каждый раз "перестартовать".
    Ответ написан
    2 комментария
  • Отправка данных по ссылке, в чем может быть проблема?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    раз по первой ссылке происходит упдэйт - логично что не приходят значения из реврайт руле во втором случае. Натыкайте print_r($id) и print_r($rat) и добавьте print_r($_POST); Все сразу станет понятно, какие переменные и как получаются. Вам уже указали варианты, можете воспользоваться ими или соорудить свой костыль.
    Ответ написан
    Комментировать
  • Почему не добавляется весь текст в БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Код не представлен, но в целом в таком случае могут быть только несколько проблем:
    1) Смотреть настройки php, max_post_size
    2) на стороне сервера смотреть или дошел пост запрос, если дошел - уже проверять запрос в базу, как отрабатывает запрос
    3) возможно в тексте есть спецсимволы, а ваш код не предусматривает экранирование.
    4) Uwe_Boll тоже мысль написал, при отправке get есть ограничение связанное с протоколом http, 254 символа в строке урл.
    Ответ написан
    3 комментария
  • Проблема с записью Session php mysql?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    pdo, placeholders, prepared statements и другие страшные слова из мануала.
    Ответ написан
    3 комментария
  • Как лучше хранить временные данные?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вариант с мускулем не самый лучший, все же это не очень быстрое хранилище, не стоит выбирать технологию только из за того, что Вы с ней хорошо знакомы. Посмотрите в сторону Redis, он очень прост, имеет структуру key=>value, как мемкеш, но и есть ряд плюшек, например инкрементные поля, время жизни(ну это и меме есть) и еще немного разных бонусов. ОЧЕНЬ легко интегрируется, я за 15 минут написал свой адаптер, это вместе с чтением документации. Я думаю это то что вам нужно.
    Ответ написан
    2 комментария
  • Как правильно спроектировать БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Правильный вариант: для записей хранить id, groupid - общий идентификатор для группы материалов на разных языках, languageid - поле языка конкретной записи. В остальном записи идентичны.
    Ответ написан
    Комментировать
  • Как сделать корректный запрос Mysqli?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    правильнее так:
    $param = $name;
    $stmt = $mysqli->prepare("SELECT topic_id FROM prefix WHERE title LIKE '%?%'");
    $stmt->bind_param("s", $param);
    $stmt->execute();
    Ответ написан
    Комментировать
  • Как перебрать данные из массива и найти на каждое значение цену из БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если не понятно как выбрать -
    $sql = "select * from `price` where `itemid` in (" . implode(",", $ids) . ")";
    Ответ написан
    Комментировать