Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
Добрый день, есть скрипт, который заказывает товары (отправляет в бд), и иногда, при неизвестных мне условиях, запрос не проходит (примерно 1 из 20-ти), хотя все переменные не пустые. Никаких оповещений об ошибке mysql. Я сделал проверку, после заказа проверяет, есть ли он в бд, если нет, то выводится информация в текстовый документ. На мой взгляд, я вродебы правильно сделал, но может быть вы что-то подскажете, буду рад. Это я накосячил, или проблемы с хостингом? Хостинг довольно часто глючит в других направлениях, скоро сменим. Привёл тот самый код, который заказывает товар. Это создаются переменные: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. это сама функция: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. Спасибо заранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2014, 17:57 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
дебажить ситуацию 1)строка которая отправлялась...результат мейк_ордер() 2)есть функции определения последней ошибки к базе данных 3)если в базе нету того что вставили в неё, в лог бросай 1,2 4)если нету, попробовать сделать тоже самое повторно 5)если вышло влог - второе вышло, иначе не вышло 6)если 4 не вышло, сделать тестово табличку где одно поле, автоинкремент и числовое) и сделать вставку туда... просто убедиться что вообще работает..тоесть сделать настолько элементарное действие но того же типа(инсерт) в другую таблицу и посмотреть что будет результат в лог 7)если 6 не вышло, попробовать выполнить селект простейший, что будет посмотреть. ЗЫ у меня счас аналогично с CURL - в одном из 200-250 случаев, он не передаёт файл методом пост на другой сервер. выдаёт ошибку чтения файла, но не моего а крякозяблики. подобным алгоритмом выше, узнал, что в это время уже ни одна попытка передавать файл не будет удачной, как и любой пост запрос уэтого скрипта, ни через секунду, ни через 10 минут ожидания. а вот гетом получить удалёный файл может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2014, 18:08 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
Dobry_cat, очень мало данных, для исследования... структура бд не известна... данные, не попавшие в базу не известны... логи mysql и php не представлены. не видим мы также код подключения к базе (mysql_connect). Не видим присутствует ли обработка ошибок подключения . А ещё, mysql расширение признано устаревшим, потому надо бы использовать mysqli например (код менять надо будет по минимуму... чаще просто буковку i в названии функций доставить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2014, 12:45 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, Програмёр, Спасибо за ответы Всего в базе данных 70 таблиц, в которых 8322 записи Вот структура таблицы, куда идут закакзы, там сейчас примерно 3400 записей Кроме INSERT, реже используется UPDATE, и очень редко DELETE Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. По вашему совету сменил всё с mysql на mysqli, а также оставил вывод ошибок на подключении, досих пор ошибок подклюсения нет. Только недошедшие до бд заказы вот код подключения к бд: Код: php 1. 2. 3. 4. 5. 6. 7. Програмёрданные, не попавшие в базу не известны Все переменные, которые создаются в коде, приведённом в первомпосте есть(не пустые), в логе они отмечаются, но в базу данных не проходят. Причём я сделал, что если запрос не проходит в первый раз, то запускается второй, но 2 раза подряд ничего в бд не проходит. Ещё напомню, такое бывает примерно в 1 из 20-ти INSERT-ов. Програмёрлоги mysql и php не представлены Чесно говоря, я не знаю где их смотреть, подскажите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2014, 11:54 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
Dobry_cat, А что тогда значило "Никаких оповещений об ошибке mysql"? Я думал речь идёт о логах. у меня логи ошибок mysql лежат /var/log/mysql/error.log ИЛИ все mysqli_query надо обернуть таким образом: Код: php 1. 2. 3. вместо printf делаем запись в свои "местные" логи)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2014, 13:17 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
ПрограмёрА что тогда значило "Никаких оповещений об ошибке mysql"? Я думал речь идёт о логах. Извиняюсь, не сразу понял При каждой ошибке отправляются данные в функцию, которая записывает в txt файл, в том числе и mysqli_error() вот она: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Вот пример вывода ошибки в лог, все переменные передаются, иксами отмечены личные данные: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2014, 15:27 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
Програмёр все mysqli_query надо обернуть таким образом: Код: php 1. 2. 3. вместо printf делаем запись в свои "местные" логи)) Спасибо, так попробую сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2014, 15:30 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
Програмёр, сделал, как вы посоветовали, вот что в логах выходит: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Места, на которое ругается выделены красным Вот 31 строка функции отправки заказа, которую я выложил в первом посте. Код: php 1. Это текстовая переменная, в ней хранится url сайта, с которого заказали товар, не знаю, при чём тут она... И к тому же, об этой проблеме я узнал со слов посетителей сайта, но недавно я самостоятельно столкнулся с ней, примерно минут десять я пробовал отправить заказ, выходило сообщение сайта, что возникла ошибка, и вдруг опять заработало. Я так понял, это случается периодами. В чём ошибка до сих пор не пойму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 19:48 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
Dobry_catПрограмёр, сделал, как вы посоветовали, вот что в логах выходит: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Места, на которое ругается выделены красным Вот 31 строка функции отправки заказа, которую я выложил в первом посте. Код: php 1. Это текстовая переменная, в ней хранится url сайта, с которого заказали товар, не знаю, при чём тут она... И к тому же, об этой проблеме я узнал со слов посетителей сайта, но недавно я самостоятельно столкнулся с ней, примерно минут десять я пробовал отправить заказ, выходило сообщение сайта, что возникла ошибка, и вдруг опять заработало. Я так понял, это случается периодами. В чём ошибка до сих пор не пойму мдя, врядли ктото будет парсить глазами твою редакцию сообщений про ошибки дальнейший шаг, вывести в лог нормально точную скл строку которую отправляет на сервер, и попытаться на сервере базданных через какойто клиент выполнить эту строку...держку пари ошибка будет таже самая(а ругаеться оно на 31 строчки СКЛ кода а не пхп) ну и дальше ....можешь внимательно смотреть на код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 20:15 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
блиин чувак... во ты гонишь... тебя не смутило почему оно ругаеться на часть строкового значения значение Код: php 1. 2. 3. а ругаеться на Код: php 1. , не никапли не засмущало? :) ЗЫ вообще совет выше возьми на заметку, не работает код в базу, в лог запрос(скл код итоговый), и в клиенте базы начинаешь разбирать что не так. в даном случае тебе бы сразу подсветка синтаксиса указала ошибку. ЗЫЗЫ когда узришь, то mysqli::real_escape_string() . и не только ради выполнения этого запроса, а и ради противодействия sql-иньекциям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 20:25 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
оооо блин, даже месная подсветка кода сразу выдит проблемное место ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 20:26 |
|
||
|
(PHP) Иногда не отправляются запросы в бд mysql
|
|||
|---|---|---|---|
|
#18+
авторкогда узришь, то mysqli::real_escape_string() . и не только ради выполнения этого запроса, а alex564657498765453, спасибо за подсказку, всё нормально работает теперь, никаких ошибок! Я и в правду не знал про mysqli::real_escape_string() автормдя, врядли ктото будет парсить глазами твою редакцию сообщений про ошибки А всё таки вы пропарсили, и не зря ))) Спасибо большое Програмёр и alex564657498765453б что отозвались! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 19:11 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38653851&tid=1462738]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 359ms |

| 0 / 0 |
