Where子句带小数

时间:2013-04-23 19:06:30

标签: php mysql

我正在试图找出为什么我的查询不会更新我的数据库。这就是我对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中。我无法弄清楚为什么它正是这样做的。我认为这段时间是逃避部分线路的。我没有得到任何错误,只是阵列到了错误的地方。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果你得到$sevenhalf这样的话:

<input type="checkbox" name="7.5" />

然后你应该知道PHP在填充GPC变量(.)时会将_转换为$_POST['7_5'] ...我真的不知道为什么,但这就是它的作用。您始终可以使用str_replace("_",".",$sevenhalf)将其恢复。