PHP Mysqli将数组值解释为数学公式

时间:2018-08-25 22:06:23

标签: php

尝试将数组值上载到数据库时,我似乎无法转义数组值。 PHP将其解释为数学方程式,而不是我希望上传的“减号”符号。这会导致错误,而无法上传。

  

$ aDataTableDetailHTML [0] ['OTG']打印为减号:-

$sql = "INSERT INTO MYTABLE (status) VALUES (".$aDataTableDetailHTML[0][OTG].")"; 

我的理解是,我需要“转义”特定值,以便PHP忽略将其作为数学值进行处理,但是,当我这样做时,它将解析为空白或什么都没有。

$OTG = mysqli_real_escape_string($con, $aDataTableDetailHTML[0]['OTG']);

我猜这很容易,而且我遗漏了一些明显的东西。有什么建议么?

1 个答案:

答案 0 :(得分:2)

这不是PHP会误解您的价值,而是MySQL。您当前查询的查询将以以下方式发送到MySQL:

INSERT INTO MYTABLE (status) VALUES (-)

这是无效的MySQL。您只需要将值放在引号中即可:

$sql = "INSERT INTO MYTABLE (status) VALUES ('".$aDataTableDetailHTML[0][OTG]."')"; 

这将防止MySQL将其解释为字符串以外的任何东西。