Вам необходимо экранировать кавычки.
Если ваша БД - MySQL, передайте все ваши данные через функцию mysql_real_escape_string()
, прежде чем сохранять их в БД.
Если вы этого не сделаетеСделайте это, вы рискуете серьёзными дырами в безопасности вашего кода, а не просто пропажей данных!
(если вы этого еще не делаете, вам также следует экранировать другие данные для других целей; например, данныеотправка обратно в браузер должна быть экранирована, чтобы не допустить, чтобы мошеннические пользователи добавляли в нее необработанный код HTML или Javascript для манипулирования вашим сайтом.
В PHP есть ряд функций, позволяющих добавлять и удалять escape-символы и данные.фильтрация. Если вы хотите, чтобы ваш сайт был безопасным, вам необходимо изучить эти функции и методы.
[править]
После просмотра изменений:
Во-первых, вам нужночтобы экранировать все строки в вашем запросе, а не только описание, поэтому добавьте экранирование к $_POST['logoimage1']
и т. д., поскольку у вас возникнут те же проблемы, если любая из них содержит кавычки.
Однакоscaping в поле описания выглядит правильно, поэтому я не знаю, почему оно будет обрезано.Страница man для mysql_real_escape_string()
гласит, что она избегает двойных и одинарных кавычек, так что это должно быть хорошо для вас.Вы можете проверить это с помощью print () полностью экранированной строки SQL;это покажет, если что-то осталось не скрытным.
Выстрел в темноте - вы проверили максимальную длину поля вашего описания в базе данных?Это также может привести к усечению строки ... хотя вряд ли;Я полагаю, что если вы вводите текстовую область, вы установите ее достаточно долго.