php
  • mysql
  • syntax
  • sql-update
  • 2013-06-27 118 views 0 likes 
    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 – 2013-06-27 04:56:59

    回答

    1

    原因有很多你的代碼將無法正常工作:

    步驟1

    變化

    $productDesc = $_POST['product_desc']; 
    

    進入

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

    步驟2

    更新之前,添加mysql_real_escape_string($productDesc);

    檢查數據庫,並把product_desc類型的文本

    步驟3

    驗證是否product_sku='$productSku'是可行的。

    額外步驟

    的mysql_query()被折舊。去mysqli

    +0

    這工作得很好!感謝這是因爲撇號和其他特殊字符 – Shade

    0

    如果一切都很好,可能性是你的描述字段有一些違規的字符。 Yogesh Suthar是正確的,你應該檢查錯誤。嘗試使用mysql_escape_string()來轉義該值

    相關問題