2015-10-15 74 views
-2

我在mysql中有一個字段datatype VARCHAR。 它必須保存像495/1,495/2這樣的數據,但是當我從PHP運行查詢時,它保存在mysql中,如495, 247.5。所以基本上mysql分割了這些值。如何在PHP中使用算術運算符在mysql中保存值?

然後,我已經試過這

$sfno = $_POST['sfno']; // i am getting value from HTML form the value is 495/2  
$sfno = explode("/",$sfno); 
$sfnom = "$sfno[0]"."-"."$sfno[1]"; 

那麼MySQL減去值,並將其保存爲494,493

所以,我怎麼可以保存MySQL數據庫的算術運算符?

enter image description here

+0

'$ sfno =「497/2」;'然後保存。 – Criesto

+0

$ _POST中的值是如何創建的? – x13

+0

@ThisNameBetterBeAvailable從HTML表單中,用戶輸入值如'495/1,495/2'等 – Jaiffable

回答

1

你需要把引號之間的變量中的查詢字符串,以防止計算。

$sfnom = "$sfno[0]"."-"."$sfno[1]"; 

成爲(注意字符串中的單引號):

$sfnom = "'$sfno[0]"."-"."$sfno[1]'"; 

您還需要URL解碼它(%2F爲/,否則它將會包含的2f代替/):

$sfnom = urldecode("'$sfno[0]"."-"."$sfno[1]'"); 

所以INSERT INTO sfarea(sfareaid,sfno,sftotarea,sfsoldarea) values(2003,495/2,9854,0)變成:

INSERT INTO sfarea(sfareaid,sfno,sftotarea,sfsoldarea) values(2003,'495/2',9854,0) 

只有你要存儲算術運算符的方式是作爲一個字符串,所以你需要引用它。

+1

非常感謝你 – Jaiffable

+0

@Jaiffable不客氣,祝你有美好的一天! – x13