Как в MySQLi ввести текст и HTML-код в текстовую область, не экранируя кавычки вручную? [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как в MySQLi ввести текст и HTML-код в текстовую область, не экранируя кавычки вручную? [дубликат]

Сообщение Anonymous »

База данных MySQL с данными, передаваемыми через HTML и PHP, в которой хранится текст и HTML-код. База данных принимает данные и позволяет осуществлять выборку без проблем.
Пример отправленного текста и HTML-кода:

Код: Выделить всё

```Test text```
На виртуальном хостинге phpMyAdmin выберите базу данных и таблицу, выберите «Редактировать»... в Интернете это выглядит так:

Код: Выделить всё

```Test text```
  • Если я отправлю что-либо для сохранения с использованием одинарной кавычки, оно будет отклонено.
  • Если я введу одинарную кавычку кавычку в поле редактирования в phpMyAdmin (включая ввод двух одинарных кавычек для экранирования), она отклоняется.
  • Если я отправляю что-либо для сохранения с использованием двойных одинарных кавычек (для одной одинарной кавычки), он принимается.
Когда принятый и сохраненный текст и данные извлекаются и используются для повторного заполнения текстовой области страницы формы ввода входных данных, полученный текст и HTML код выглядит так же, как версия в поле «Редактировать» в phpMyAdmin:
Тестовый текст ОДНАКО теперь, когда они существуют в текстовой области моей формы ввода входных данных, одинарные кавычки каким-то образом отличаются от кавычек в поле «Редактировать», хотя они выглядят одинаково. Если текст и HTML-код, только что полученные из базы данных, затем повторно отправляются, они отклоняются из-за одинарных кавычек. Это скорее устраняет необходимость повторного заполнения текстовой области.
Моя цель повторного заполнения текстовой области — избежать необходимости вручную повторно вводить данные только для внесения незначительной корректировки или изменения.
Что мне нужно сделать, чтобы предполагаемый пользователь-администратор мог вводить текст и HTML-код, используя одинарные или двойные кавычки, без экранирования вручную при вводе текстовой области? Любое преобразование этого простого текста и HTML-кода в форму, приемлемую для MySQLi, должно происходить без необходимости корректировки кавычек, связанных с кодом, пользователю-администратору. Аналогичным образом, когда данные извлекаются и текстовое поле заполняется повторно, должна быть возможность просто повторно отправить их в базу данных без ручной корректировки кавычек и т. д.
Поиск в Интернете оказался безрезультатным. Все хотят объяснить, как экранировать кавычки, но мне не нужно знать, как вручную писать escape-код... не говоря уже о том, что почти все сообщения очень старые и посвящены SQL или MySQL, некоторые ссылаются на устаревший * `mysql_real_escape_string function и т. д. Мне нужно найти:
  • способ обработки кавычек атрибутов HTML-кода и т. д. где-то между формой ввода/страницей обновления и база данных.
  • способ обработки извлеченных кавычек атрибутов HTML-кода и т. д. до того, как они достигнут текстовой области, чтобы их можно было легко повторно отправить после редактирования.
К сведению: Поля базы данных, используемые для хранения текста и фрагментов HTML-кода, представляют собой текстовые поля, сопоставленные как utf5mb4_unicode_ci.
Предложения?


Подробнее здесь: https://stackoverflow.com/questions/791 ... nually-esc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»