2013-04-21 36 views
0

我有一個產品mysql表。在products_image列中有一些不好的數據。展望未來,我可以使用php並執行str_replace,但是我的問題是,當前的數據。在Mysql表中清理數據

我想更新products_image,它是產品圖像的url或路徑。它在/它應該是/的路徑中。

有沒有辦法在mysql中使用存儲過程來運行更新語句(無php)或者,使用php,正如我在下面所做的那樣,但是效果不好。 當我嘗試它在PHP中,(見下文)它的大部分工作,但它超時。 (12779行)希望你能幫忙。謝謝。 KP

<pre> $sql ="Select products_image from products"; 
     $result = mysql_query($sql,$link); 
     while ($row = mysql_fetch_assoc($result)) { 

     $products_image = $row['products_image']; 
     $image = str_replace("./","/", $products_image); 

     $sql1="UPDATE products set products_image='$image'"; 
     $result1 = mysql_query($sql1,$link); 
      } 
</pre> 
+0

什麼是 「壞數據」? – zerkms 2013-04-21 04:27:02

回答

2

使用REPLACE功能。

UPDATE products SET products_image = REPLACE(products_image, "./", "/") 
0

最小變化對你的代碼是:

變化

$sql1="UPDATE products set products_image='$image'"; 

$sql1="UPDATE products set products_image='$image' WHERE products_image = $row['products_image']"; 
+1

你能否提供你的代碼的解釋? – Jesse 2013-04-21 04:51:30

+0

它基於OP代碼。它根據前面的SELECT語句更新'product_image'。 – Amir 2013-04-21 04:55:57

+0

這個答案似乎沒有幫助的問題。你將盡最大努力在未來解釋你的答案。 – 2013-04-21 04:56:04