#php #mysql #replace
#php #mysql #заменить
Вопрос:
таблица mysql = продукты
поле = категория (строка)
Как добавить двойные кавычки в начало и конец поля, если строка содержит запятую?
текущий код php:
$sql = "update products set category = replace(replace(replace(category,'amp;#34;','"'),'amp;#62;','>'),'amp;#38;','amp;')";
Комментарии:
1. ваша проблема недостаточно ясна, но попробуйте это $ sql = «обновить категорию набора продуктов = » заменить (заменить(заменить(категорию,'»‘,'»‘),’>’,’>’),’amp;’,’amp;’) » «;
2. Почему вы не используете инструкции prepare?
3. @pLe0mAx. Я не программист, поэтому не могу ответить на этот вопрос.
4. @lhbib hbart 3 Код, который я включил, напрямую не связан с моим вопросом, но я включил его, чтобы показать, что в данный момент было в моем скрипте
Ответ №1:
Смотрите Запрос ниже :
UPDATE products SET category = QUOTE(category);
Работаю с моей стороны..
Я надеюсь, что это будет и в вашем конце.
Комментарии:
1. Привет. Будет ли это работать только для строк, содержащих запятую, что мне и нужно, или для всех строк?
2. Поле используется для вывода в файл csv. Следовательно, необходимо заключать строки в двойные кавычки, содержащие запятую (иначе строка разделяется из-за того, что csv разделен запятыми).
3. Этот запрос не будет работать для данных, разделенных запятыми. Это добавит кавычки к данным, существующим в столбце. Если у вас есть запятая и другой специальный символ, то этот запрос посчитает его полными данными и добавит кавычки в начало и конец данных. не могли бы вы добавить изображение или текст ваших данных, чтобы я мог изменить запрос в соответствии с вашими потребностями.
4. @ ARVIND ЭТО строки на самом деле являются категориями покупок Google. Пример: «Дом и сад> Декор> Художественные работы> Плакаты, принты и визуальные иллюстрации» Мне нужно не забыть заключить их в двойные кавычки, когда они выводятся в виде столбца в моем csv. Спасибо
5. Кто-нибудь может помочь с этим?