我正在试图找出为什么我的查询不会更新我的数据库。这就是我对PHP编码的要求:
if($sevenhalf) {
$update_sevenhalf = "UPDATE xcart_class_options SET orderby='$sevenhalf' WHERE option_name='7.5'";
mysql_query($update_sevenhalf) or die(mysql_error());
echo $sevenhalf.'<br>';
}
但是当我执行它时,它会不断尝试更新错误的字段:
array(63) { ["7_5"]=> string(3) "107"
您可以看到问题所在。它应该尝试使用值7.5更新option_name的每个实例,但是数组显示它正在尝试将其放在7_5中。我无法弄清楚为什么它正是这样做的。我认为这段时间是逃避部分线路的。我没有得到任何错误,只是阵列到了错误的地方。有什么建议吗?
答案 0 :(得分:1)
如果你得到$sevenhalf
这样的话:
<input type="checkbox" name="7.5" />
然后你应该知道PHP在填充GPC变量(.
)时会将_
转换为$_POST['7_5']
...我真的不知道为什么,但这就是它的作用。您始终可以使用str_replace("_",".",$sevenhalf)
将其恢复。