2015-10-15 39 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