PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (771): [1] 2 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 11563
Мелкий Отправлено: 20 Января, 2018 - 12:42:31 • Тема: Постоянное подключение к SQL на странице • Форум: Вопросы новичков

Ответов: 5
Просмотров: 86
ГенералСиська пишет:
Возможно я не правильно выразился, не подвисали, а загружались. При удалении кода подключения к базе, все летает. Добавляю код, каждый переход что-то усердно прогружает несколько пару секунд. Понятное дело что он постоянно подключается к базе.

Без разницы, понял я вас верно.
И как раз с причинами долгого подключения разбираться и надо. Судя по всему винда. Мне так помнится, была там известная особенность пытаться ходить сначала по IPv6, который типично не настроен и по таймауту идёт fallback на ipv4 который как раз работает. Лечится настройкой или отключением ipv6.
Ну это на память.
Мелкий Отправлено: 19 Января, 2018 - 17:59:01 • Тема: Получить, обработать, записать - сложности • Форум: Работа с файловой системой и файлами

Ответов: 5
Просмотров: 47
antobra пишет:
в logs.txt появляются дубли ID

И это если ещё везёт.
Реально можно повредить структуру строки, потерянная запись, частичная запись поверх и другие приключения.

antobra пишет:
Самое первое - это flock. Его проблема это блокировка файла на момент записи. С записью как раз проблем нет.

Читать последнюю строку с намерением что-то писать на её основе вы должны строго после взятия write flock.
fopen
flock write
fread
some calc
write
unlock
fclose

Если проблема со счётчиком - поставьте рядом redis. Атомарный инкремент там есть, да и сам по себе штук не бесполезный.
Если проблема не только со счётчиком, а ещё и хранением данных - то используйте знакомую вашей команде СУБД. У всех распространённых должны быть конкурентно-безопасные сиквенсы.
Мелкий Отправлено: 18 Января, 2018 - 09:44:12 • Тема: Постоянное подключение к SQL на странице • Форум: Вопросы новичков

Ответов: 5
Просмотров: 86
ГенералСиська пишет:
подвисали на несколько секунд

вот с этим и надо разбираться в первую очередь. Какая ОС? База на той же машине? какой хост указан в connect?

ГенералСиська пишет:
mysql_connect и mysql_select_db

А с этим разбираться во вторую очередь. 15 лет как заброшено, лет 5 как официально deprecated и уже года 3 как удалены из php.
Мелкий Отправлено: 10 Января, 2018 - 23:16:35 • Тема: Библиотека! • Форум: Вопросы новичков

Ответов: 3
Просмотров: 110
Что такое библиотека в вашем понимании, как в одном списке оказались персистентные и временные средства хранения и что можно советовать при полном отсутствии исходных данных, требований к решению и самих исходных задач?
Мелкий Отправлено: 10 Января, 2018 - 11:06:12 • Тема: Вопрос к опытным кодерам • Форум: Вопросы новичков

Ответов: 4
Просмотров: 142
Artix пишет:
htmlspecialchars() чтобы не было этих &lt; крякозябров а норм символы выводил с бд < ?

htmlspecialchars нужен потому что вы выводите не HTML в HTML и надо соблюдать правила вывода того формата, в который вы выводите. Чтобы случайной кавычкой не сломать в принципе всю страницу (и это в лучшем случае, в худшем - подставить ваших пользователей под XSS)
Мелкий Отправлено: 09 Января, 2018 - 23:03:04 • Тема: Вопрос к опытным кодерам • Форум: Вопросы новичков

Ответов: 4
Просмотров: 142
Artix пишет:
если теги не заполнены мы бд не дергаем лишний раз

$config - это объект класса с ArrayAccess, который умеет дёргать базу? Или за счёт чего экономия?
Впрочем, в таком случае empty запрашивает offsetExists + offsetGet, поэтому можно сделать даже хуже, смотря как реализовано.

Имя $config для хранения специфичных для каждой страницы keywords и description явно неудачная мысль. И забыли сделать htmlspecialchars при выводе в html
Ну а пустой keywords бесполезен, зачем его выводить?
Мелкий Отправлено: 06 Января, 2018 - 19:57:40 • Тема: Запустить script.php каждый день 1 раз • Форум: Вопросы новичков

Ответов: 1
Просмотров: 98
CODE (cron):
скопировать код в буфер обмена
  1. 0 11 * * * /usr/bin/php /home/mysite/mysite.ru/www/scripts/myscript.php

?
Вроде бы по синтаксису username допустимо указывать - а может только для системных кронов, я сходу не нашёл подтверждения - но рядовому пользователю рутовые права явно бы не дали.
Мелкий Отправлено: 04 Января, 2018 - 11:25:53 • Тема: Проблема с sql запросом • Форум: Вопросы новичков

Ответов: 15
Просмотров: 263
andrewkard пишет:
Если столбец устанавливается в его текущее значение, то MySQL замечает это и не обновляет его.

Это внутренняя оптимизация, не влияющая на результат запроса. Приложению всё равно будет рапорт об успешном выполнении запроса. (но affected_rows = 0, если верно помню)

Смотрите какую ошибку возвращает база: http://php.net/manual/en/mysqli.error.php
Так гадать бесперспективно
PS: код не смотрел
Мелкий Отправлено: 03 Января, 2018 - 17:07:11 • Тема: Проблема с sql запросом • Форум: Вопросы новичков

Ответов: 15
Просмотров: 263
Sail пишет:
Что ещё в этом сообщении пишет, после двоеточия?

А с чего вы решили, что должно быть двоеточие?
Я пока не вижу решительно никакого кода выполнения запроса и обработки ошибок. Вижу лишь подстановку переменных в структуру запроса - что весьма плохо само по себе в общем случае работы с СУБД, но что не является прямой ошибкой.
Мелкий Отправлено: 02 Января, 2018 - 15:14:11 • Тема: Как сверить 2 массивы и удалить одинаковые значения? • Форум: Хранение данных, их вывод и обработка

Ответов: 3
Просмотров: 139

?
Мелкий Отправлено: 01 Января, 2018 - 17:57:24 • Тема: Можно ли без php загрузить файлы на сервер? Например через JS ? • Форум: Программирование на PHP

Ответов: 1
Просмотров: 66
Можно. Да хоть через sh.
Если говорить о загрузке файлов через html элемент input type file - то клиенту всё равно как вы настроили свой веб-сервер и на каких языках у вас работает загрузка файлов. Есть запрос http переданный по tcp. Всё остальное на своём сервере можете менять.
Мелкий Отправлено: 29 Декабря, 2017 - 13:12:40 • Тема: Вопрос по limit и UNIQUE KEY • Форум: Вопросы новичков

Ответов: 13
Просмотров: 303
Строитель пишет:
моё утверждение о повышении производительности за счёт использования оператора LIMIT истинно? Или ложно?

Два случая:
0) если есть unique по тому что ищем - то лимит роли не играет (гхм, ну кроме limit 0 - эта замечательная вещь даже выполняться не будет, ответит 0 строк сразу на этапе разбора)
Но и вреда от limit 1 не будет.
1) если уникального ограничения нет - лимит играет свою роль и прерывает выполнение запроса сразу по достижении нужного числа совпадений. И планировщик может менять план опираясь на знание того что надо достать только часть строк. Что совпадает с наблюдениями, если MouseZver не докажет обратное.
Мелкий Отправлено: 29 Декабря, 2017 - 12:53:33 • Тема: O! $_FILES файл на сервер. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 137
https://github[dot]com/php/php-src/b[dot][dot][dot]/rfc1867[dot]c#L1060 (php константа UPLOAD_ERR_CANT_WRITE - это UPLOAD_ERROR_F в C исходнике, объявление в начале файла)
Системный вызов write вернул ошибку либо отчитался что записал меньше байт, чем просили. Что именно из этого случилось - без пересборки PHP не понять, E_NOTICE закрыты макросами препроцессора.
Права и возможность создания файла при этом есть, это проверяется немного раньше и кидает E_WARNING в случае ошибки, содержимое файла до лампочки, его рассматриваем как набор байт.

В целом - проблема операционной системы. Может быть upload_tmp_dir был переполнен, может там лимиты на размер файла
Мелкий Отправлено: 29 Декабря, 2017 - 10:11:35 • Тема: Вопрос по limit и UNIQUE KEY • Форум: Вопросы новичков

Ответов: 13
Просмотров: 303
MouseZver, а я и не путаю.
Имеющийся limit мало того, что не будет перебирать все совпадающие строки (за ненадобностью) - так ещё и может использовать вообще другой план запроса (основные моменты указаны в мануале, на который я сослался).

CODE (sql):
скопировать код в буфер обмена
  1. mysql> SELECT SQL_NO_CACHE * FROM bigtable WHERE i = 5435;
  2. +------+------+
  3. | id   | i    |
  4. +------+------+
  5. | 5435 | 5435 |
  6. +------+------+
  7. 1 row IN SET (0.11 sec)
  8.  
  9. mysql> SELECT SQL_NO_CACHE * FROM bigtable WHERE i = 5435;
  10. +------+------+
  11. | id   | i    |
  12. +------+------+
  13. | 5435 | 5435 |
  14. +------+------+
  15. 1 row IN SET (0.12 sec)
  16.  
  17. mysql> SELECT SQL_NO_CACHE * FROM bigtable WHERE i = 5435 LIMIT 1;
  18. +------+------+
  19. | id   | i    |
  20. +------+------+
  21. | 5435 | 5435 |
  22. +------+------+
  23. 1 row IN SET (0.00 sec)
  24.  
  25. mysql> SELECT SQL_NO_CACHE * FROM bigtable WHERE i = 5435 LIMIT 1;
  26. +------+------+
  27. | id   | i    |
  28. +------+------+
  29. | 5435 | 5435 |
  30. +------+------+
  31. 1 row IN SET (0.01 sec)
  32.  
  33. mysql> EXPLAIN SELECT SQL_NO_CACHE * FROM bigtable WHERE i = 5435 LIMIT 1;
  34. +----+-------------+----------+------+---------------+------+---------+------+---------+-------------+
  35. | id | select_type | TABLE    | type | possible_keys | KEY  | key_len | ref  | rows    | Extra       |
  36. +----+-------------+----------+------+---------------+------+---------+------+---------+-------------+
  37. |  1 | SIMPLE      | bigtable | ALL  | NULL          | NULL | NULL    | NULL | 1000379 | USING WHERE |
  38. +----+-------------+----------+------+---------------+------+---------+------+---------+-------------+
  39. 1 row IN SET (0.00 sec)
  40.  
  41. mysql> EXPLAIN SELECT SQL_NO_CACHE * FROM bigtable WHERE i = 5435;
  42. +----+-------------+----------+------+---------------+------+---------+------+---------+-------------+
  43. | id | select_type | TABLE    | type | possible_keys | KEY  | key_len | ref  | rows    | Extra       |
  44. +----+-------------+----------+------+---------------+------+---------+------+---------+-------------+
  45. |  1 | SIMPLE      | bigtable | ALL  | NULL          | NULL | NULL    | NULL | 1000379 | USING WHERE |
  46. +----+-------------+----------+------+---------------+------+---------+------+---------+-------------+
  47. 1 row IN SET (0.00 sec)
  48.  

Мяч у вас. Докажите своё высказывание и объясните, почему limit 1 прервал seqscan преждевременно. В табличке лям строк, искомый i где-то в начале.

Для уникального индекса это всё, естественно, не играет роли, т.к. планировщик изначально знает гарантированную селективность уникального ограничения.
Мелкий Отправлено: 29 Декабря, 2017 - 09:39:39 • Тема: Вопрос по limit и UNIQUE KEY • Форум: Вопросы новичков

Ответов: 13
Просмотров: 303
MouseZver пишет:
Запрос в любом случае просмотрит все записи подошедшие по критерию и только потом будет применен LIMIT 1

В общем случае утверждение неверно.
https://dev[dot]mysql[dot]com/doc/refman[dot][dot][dot]ptimization[dot]html

Страниц (771): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB