我有一个php网站,其中包含一个页面,您可以在其中更新数据库表中包含的各种参数的值。 最近系统管理员在参数名称的开头添加了一些包含%百分号的新参数,而使用$ _REQUEST superglobal的更新函数只更新包含字母字符的原始参数,而新参数根本不更新。
我需要知道如何更改我的代码以支持更新表中的所有参数,无论名称如何。
参数示例如下
答案 0 :(得分:1)
括在括号中:
$paramname = str_replace('%', '[%]', $paramname);
或者使用escape:
$paramname = str_replace('%', '\%', $paramname);
$query = "UPDATE Parameters SET Value = '$value' WHERE ParamName = '$paramname' ESCAPE '\'";
答案 1 :(得分:-1)
您必须在将数据存储到MySQL之前转义数据,您可以尝试使用:
http://php.net/manual/en/function.mysql-real-escape-string.php