- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В своих скриптах я использую синтаксис как в первой строке, но в чужих скриптах чаще вижу стиль как в строке снизу.
Они чем то отличаются принципиально?
отличаются
В принципе, ничем, если id уникальный.
В принципе, ничем, если id уникальный.
При чем тут id ? Я про конкатенацию и фигурные скобки вообще-то.
При чем тут id ? Я про конкатенацию и фигурные скобки вообще-то.
А я Ванга, да ?
В своих скриптах я использую синтаксис как в первой строке, но в чужих скриптах чаще вижу стиль как в строке снизу.
Они чем то отличаются принципиально?
Нет не отличаются, оба говнокода под названием SQL Injection, работать с БД надо как то вот так
Да и фигурные скобки то там не нужны можно такие переменные вставлять так, фигурные скобки нужны в строке, когда вставляешь значения массива по ключу или выводишь параметры объекта, например
Без фигурных скобок такую запись не сделать
Prepare не панацея от внедрений кода, в обоих случаях надо подготавливать данные. Чтобы не передали отрицательные числа, как пример. И вообще мусор не закидывали.
А когда у нас запрос динамический это вообще туши свет работать с Prepare. Есть инструменты, и ими надо пользоваться с головой.
Поэтому ВСЕГДА надо обрабатывать данные перед запросом, а когда они от клиента, так в двойне надо всё проверять.
Что касается вопроса ТС, то никакой разницы нет в логике работы, но скобки{} для "" просто лишние и не несут никакой пользы т.к. переменные и так обрабатываются в двойных кавычках. Но мне больше нравится стиль ".$var." т.к. можно быстренько накинуть ".trim($var)." если надо.
Prepare не панацея от внедрений кода, в обоих случаях надо подготавливать данные. Чтобы не передали отрицательные числа, как пример. И вообще мусор не закидывали.
Мусор и отрицательные числа это не инъекция, prepare как раз спасает от неё. Валидировать данные действительно нужно, но в данном случае нет смысла это уточнять.
Но мне больше нравится стиль ".$var." т.к. можно быстренько накинуть ".trim($var)." если надо.
Читать в коде эту фигню просто нереальный треш, может тут конечно сказывается работа с другими языками, но в php есть sprintf чтоб не страдать подобной фигней, ставить лишние скобки и прочее.
По мне запись вида:
Полное нечитаемое г, хотя это еще очень короткая строка, когда вполне можно записать как:
Скобки {} в данном конкретном случае конечно не нужны, но попробуйте написать например {$id}132 или {$id}_aaa без скобок , так что в двойных кавычках они тоже часто нужны.
Я, если честно, за больше чем 10 лет практики вообще не пользовался никогда этим функционалом и в своей повседневной работе даже придумать кейс не могу, где там мне надо было бы написать. Так что "тоже часто нужны" субъективное утверждение. Я вообще сторонник того что строки (литералы) должны быть в апострофах (одиночных кавычках), как то так повелось ещё в самом начале пути в разработке на php
Они чем то отличаются принципиально?
Aisamiery #:
оба говнокода под названием SQL Injection
"SQL Injection" - это все-таки вмешательство извне. Нет необходимости всегда использовать подготовленные запросы 😉