尝试将数组值上载到数据库时,我似乎无法转义数组值。 PHP将其解释为数学方程式,而不是我希望上传的“减号”符号。这会导致错误,而无法上传。
$ aDataTableDetailHTML [0] ['OTG']打印为减号:-
$sql = "INSERT INTO MYTABLE (status) VALUES (".$aDataTableDetailHTML[0][OTG].")";
我的理解是,我需要“转义”特定值,以便PHP忽略将其作为数学值进行处理,但是,当我这样做时,它将解析为空白或什么都没有。
$OTG = mysqli_real_escape_string($con, $aDataTableDetailHTML[0]['OTG']);
我猜这很容易,而且我遗漏了一些明显的东西。有什么建议么?
答案 0 :(得分:2)
这不是PHP会误解您的价值,而是MySQL。您当前查询的查询将以以下方式发送到MySQL:
INSERT INTO MYTABLE (status) VALUES (-)
这是无效的MySQL。您只需要将值放在引号中即可:
$sql = "INSERT INTO MYTABLE (status) VALUES ('".$aDataTableDetailHTML[0][OTG]."')";
这将防止MySQL将其解释为字符串以外的任何东西。