John Didact, у меня подгорает не из-за подготовленных выражений, а из-за пустопорожних балаболов. Ну ты я вижу в прыжке переобулся, уже хочешь не запрещать, а экранировать. Хотя градус идиотизма и поубавился, но все равно вынужден тебя огорчить. Не существует никакого "экранирования спец.символов для sql-запроса", это опасное заблуждение.
Ну и подумай сам. Ты вроде бы хотел упросить процесс, а в итоге написал целую кучу хаотичных телодвижений. Не проще ли вернуться к простому подготовленному запросу вместо того чтобы реализовывывать твои путаные фантазии? :)
John Didact, понятно. Как всегда, вместо четкого и ясного "переменную заменяем на знак вопроса, а потом биндим", невнятное блеяние про "запрещённые" и "недопустимые" символы. Ты хоть понимаешь всю бессмысленность своих фантазий? Это всё равно что врачу дать рекомендацию, "ну ты там разрежь где-нибудь и удали все ненужное". ЧТО ненужное? Про какие символы тебе вдруг померещились , что они "запрещённые"? Кто их запретил? За что?
kafkiansky, нельзя учить таблицу умножения, не выучив сложение, потому что ты не будешь понимать, как она работает. Отличный код в категории "мой первый роутер"
Надо вернуться немного назад и уменьшить количество говнокода. global $link - это уже говнокод.
Надо передавать $link через переметры функции. И убедиться, что соединение создано, когда функция вызывается
Вячеслав Коростин, да разумеется.
Подготовленные запросы нужны для любых запросов.
Тут дело не в том, какой запрос, а в том, используются ли в нем переменные.
Если через переменную передаются данные, то их надо передавать через подстановки.
А если через переменну. передается имя колонки или таблицы, то так как у меня в ответе - через ручную фильтрацию
Ну и подумай сам. Ты вроде бы хотел упросить процесс, а в итоге написал целую кучу хаотичных телодвижений. Не проще ли вернуться к простому подготовленному запросу вместо того чтобы реализовывывать твои путаные фантазии? :)