Войти или зарегистрироваться
Выберите удобный способ — аккаунт создастся автоматически.
Или войдите по логину и паролю
 |
Типичные косяки с базой в PHP + MySQL, которые долго ищутся |

25.07.2026, 07:20
|
|
Новичок
Регистрация: 07.08.2012
Сообщений: 29
С нами:
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()?
|
|
|

13.08.2026, 15:10
|
|
Новичок
Регистрация: 17.10.2012
Сообщений: 21
С нами:
7142006
Репутация:
0
|
|
Часто залипаю на том, что забыл везде поставить проверку ошибок и по итогу сидишь гадал, почему запрос не работает. Пока не начал заиспользовать подготовленные выражения и унифицировать кодировку, постоянно были вылеты с апострофами. Ну и нормальный режим исключений в PDO спасает много нервов, правда.
|
|
|

29.08.2026, 22:40
|
|
Новичок
Регистрация: 15.05.2004
Сообщений: 24
С нами:
11572626
Репутация:
0
|
|
У меня тоже из-за отсутствия проверки ошибок долго крутилась голова — потом начал вообще ловить исключения с PDO, сразу стало проще. С кодировкой мучился, пока не прокидывал везде utf8mb4, апострофы меньше сыпались. А ещё одинаковый fetch надо выбирать, а то данные в массиве куда-то теряются, и дебаг — дикое дело было.
|
|
|

13.10.2026, 23:20
|
|
Новичок
Регистрация: 26.04.2003
Сообщений: 45
С нами:
12126800
Репутация:
0
|
|
Одно из моих дежавю — не смотрел на ошибки после запроса, а потом долго пытался понять, почему данные не грузятся. PDO в режиме исключений реально упрощает жизнь, особенно когда в запросе что-то не так с кавычками или кодировкой. А ещё запомни — fetch надо выбирать один, иначе структура ответа разбивается и дебаг превращается в квест. Мелочь, а сколько времени экономит.
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|