Почему я не использовал функцию mysqli_escape_string
без подключения к базе данных?Почему mysqli_escape_string требует подключения к базе данных?
1
A
ответ
4
экранирует специальные символы в строке для использования в операторе SQL, принимая во внимание текущую кодировку соединения
Он должен иметь связь с тем, что знает, какую кодировку использует база данных, поэтому она может использовать правильные правила для экранирования данных.
2
Ответ Квентина сводит его к сути.
Я хотел бы также добавить, что
- Как Квентин уже упоминалось, кодировка известна только в контексте активного соединения - и очень важно, чтобы избежать.
- и обычно объект соединения должен быть доступен для любой части вашего кода, требующего его. Всякий раз, когда вам нужно убежать, вам, скорее всего, также нужно будет использовать соединение. Если ваша проблема заключается в том, что «объект подключения недоступен в этой части моего кода», то вам обязательно над этим стоит работать!
- И, пожалуйста, не пытайтесь воспроизвести поведение
mysqli_escape_string
себя в PHP! Это только делает его потенциально уязвимым для злоумышленников. Не думайте, что это так же просто, как конвертировать"
в\"
!
Пожалуйста, внимательно ознакомьтесь с № 2 и № 3. Задавая этот вопрос, я предполагаю, что у вас есть какая-то архитектурная проблема в вашем проекте.
Смежные вопросы
- 1. активов прекомпиляция требует подключения к базе данных
- 2. cakephp 2.0.5 Sqlserver требует подключения к базе данных
- 3. Эта операция требует подключения к базе данных «master»
- 4. Попытка подключения к базе данных
- 5. Ошибка подключения к базе данных
- 6. подключения к удаленной базе данных
- 7. Ошибка подключения к базе данных?
- 8. Нет подключения к базе данных
- 9. Ошибка подключения к базе данных
- 10. Ошибка подключения к базе данных
- 11. форма подключения к базе данных
- 12. Ошибка подключения к базе данных
- 13. Подключения монитора к базе данных
- 14. Ошибка подключения к базе данных
- 15. Ошибка подключения к базе данных
- 16. Невозможность подключения к базе данных
- 17. OpenERP - подключения к базе данных
- 18. Автоподключение подключения к базе данных
- 19. Подключения к базе данных журнала
- 20. строка подключения к базе данных
- 21. Нет подключения к базе данных
- 22. скрипт подключения к базе данных
- 23. Подключения SecurityGuard к базе данных
- 24. Проблема подключения к базе данных
- 25. Подключения к базе данных MySQL
- 26. Ошибка подключения к базе данных
- 27. Ошибка подключения к базе данных NUnit C#
- 28. Почему я получаю ошибку подключения к базе данных в asp.net?
- 29. Проблема подключения к базе данных MySQL PhpMyAdmin
- 30. сохранение учетных данных подключения к базе данных
Впрыск невозможен без подключения к базе данных, так что конкретно спрашивает ваш вопрос? – Matt
Потому что это база данных, которая знает, как символы цитат и т. Д. Должны быть экранированы, а не PHP; поэтому PHP позволяет базе данных делать это –
обновил вопрос –