2013-06-27 4 views
0

Я пытаюсь обновить мое длинное текстовое поле mysql. Он работал ранее без каких-либо проблем, но никогда не обновлялся. Вот кодДлинный текст не обновляется

$productTitle = $_POST['product_title']; 
$productDesc = $_POST['product_desc']; 

$updateProductDesc = "UPDATE product_desc SET product_desc='$productDesc' 
WHERE product_sku='$productSku' "; 
mysql_query($updateProductDesc, $db_custom); 

Я знаю, что должен использовать mysqli, но кроме этого, все синтаксисы верны. Или я совсем чего-то не хватает.

+0

Правильно ли указано имя таблицы 'product_desc'? – karthikr

+1

Не будет обновлять средства? используйте 'mysql_error()' для отладки ошибки. Я думаю, это может быть проблема с одинарными кавычками. Используйте 'mysql_escape_string', чтобы избежать их. –

+0

Я надеюсь, что этот отчет об ошибке может быть полезен http://bugs.mysql.com/bug.php?id=12157 –

ответ

1

много причин, ваш код не будет работать:

Шаг 1

Изменить

$productDesc = $_POST['product_desc']; 

Into

$productDesc = addslashes($_POST['product_desc']); 

Шаг 2

Перед обновлением, добавьте mysql_real_escape_string($productDesc);

Проверьте вашу базу данных и поместить product_desc типа на TEXT

Шаг 3

Проверьте, если product_sku='$productSku' жизнеспособен.

дополнительный шаг

mysql_query() амортизируется. Go for mysqli

+0

Это сработало отлично! Спасибо, что из-за апострофа (ов) и других специальных символов – Shade

0

Если все было задолго до того, вероятность того, что в вашем поле описания есть оскорбительный характер. Йогеш Сутар прав, что вы должны проверить ошибку. Попробуйте избежать значения с помощью mysql_escape_string()