我如何用php中的算术运算符在mysql中保存值?

时间:2015-10-15 12:13:16

标签: php mysql operators arithmetic-expressions

我在mysql中有一个字段数据类型VARCHAR。 它必须保存像495/1,495/2这样的数据,但是当我从PHP运行查询时,它会保存在像495, 247.5这样的mysql中。所以基本上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

1 个答案:

答案 0 :(得分: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)

只有你要存储算术运算符的方法是字符串,所以你需要它周围的引号。