从db中选择时,插入到mysql中的整数是不一样的

时间:2014-07-13 20:58:06

标签: php mysql mysqli integer

我有:

 $height = mysqli_real_escape_string($connect, $_POST['height'];

将整数值插入INT数据库字段。

当我从数据库中选择相同的值时,我得到一个完全不同的数字......

真的逃脱了吗?或者它是我应该使用的特定过滤器?

非常感谢

修改

首先,感谢所有真正帮助的人!!!

这是我的代码:

我有一个名为height INT(3)

的sql字段

表单输入如下:     

查询是:

$sql = mysqli_query($connect, "INSERT INTO patient (height) VALUES ('$height')");

触发此查询的代码是:

if (isset($_POST['dossier'])) {
    $height = mysqli_real_escape_string($connect, $_POST['height']);
}

现在,让我说我发布4,然后我回显$ height变量我得到5 ...

我第一次收到此错误...

非常感谢!!

最后编辑

我发现了问题!!!

我有一个数学计算,我使用了错误的算子:

if ($row['gender'] === "m") {
                if ($height = 5) { // <------ RIGHT HERE!!!!!
                    $height_measure = 106 + ($height_dec * 6);
}

所以我将操作符更改为===,现在一切正常了!!!!

感谢那些试图帮助的人!那些投票否定的人,你本来可以更多的帮助,至少指导我一个复制的问题或什么! :)你知道,建设性的批评!!!!

再次感谢大家!

2 个答案:

答案 0 :(得分:0)

因为你的身高总是整数值,所以我认为最好使用:

$height = (int) $_POST['height'];

答案 1 :(得分:0)

我有一个数学计算,我使用了错误的算子:

if ($row['gender'] === "m") {
                if ($height = 5) { // <------ RIGHT HERE!!!!!
                    $height_measure = 106 + ($height_dec * 6);
}

所以我将操作符更改为===,现在一切正常了!!!!