ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Типичные косяки с базой в PHP + MySQL, которые долго ищутся
  #1  
Старый 25.07.2026, 07:20
Lamer_pro
Новичок
Регистрация: 07.08.2012
Сообщений: 27
С нами: 7244246

Репутация: 0
По умолчанию Типичные косяки с базой в PHP + MySQL, которые долго ищутся

Всем привет! Поделюсь наблюдениями по работе с MySQL из PHP — много раз натыкался на грабли, которые реально доставляют.

1) Забыл про подготовленные запросы и впилил переменные прямиком в SQL. Итог — то баги, то дыра для инъекций, а иногда кавычки так спотыкаются, что хрен поймёшь — в коде или в базе проблема.

2) Не проверял результат выполнения запросов. Тренд: if (!$res) { echo mysqli_error($conn); } и всю голову не ломать.

3) Кодировка — главный враг. В базе utf8mb4, в PHP старый utf8 — буквы режутся, апострофы ломают вывод, а ошибка не всегда понятна.

4) Использование mysqli или PDO, но не в режиме исключений — ловить ошибки сложнее и дебаг превращается в тортуры.

5) Шаманство с fetch_assoc()/fetch_array(). Иногда берёшь не тот fetch, и данные идут не тем форматом — непонятно, почему foreach не рулит.

6) Закрытие соединения забывается — долго висит. Хотя PHP сам это делает по завершении скрипта, но если запросов много, лучше закрыть руками.

7) Параллельные запросы не держал, а хотелось — всё виснет, пока первый не отработает.

Если не проверяете каждый шаг и не вылавливаете ошибки — быстро потеряетесь. Кто чем пользуется для отладки MySQL запросов в PHP? Делаете ли строгую обработку ошибок или тупо ориентируетесь на echo mysqli_error()?
 
Ответить с цитированием

  #2  
Старый 13.08.2026, 15:10
vasyl.tor
Новичок
Регистрация: 17.10.2012
Сообщений: 16
С нами: 7142006

Репутация: 0
По умолчанию

Часто залипаю на том, что забыл везде поставить проверку ошибок и по итогу сидишь гадал, почему запрос не работает. Пока не начал заиспользовать подготовленные выражения и унифицировать кодировку, постоянно были вылеты с апострофами. Ну и нормальный режим исключений в PDO спасает много нервов, правда.
 
Ответить с цитированием

  #3  
Старый 29.08.2026, 22:40
AnTiHaK
Новичок
Регистрация: 15.05.2004
Сообщений: 19
С нами: 11572626

Репутация: 0
По умолчанию

У меня тоже из-за отсутствия проверки ошибок долго крутилась голова — потом начал вообще ловить исключения с PDO, сразу стало проще. С кодировкой мучился, пока не прокидывал везде utf8mb4, апострофы меньше сыпались. А ещё одинаковый fetch надо выбирать, а то данные в массиве куда-то теряются, и дебаг — дикое дело было.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.