MYSQL PHP - get float LIKE $ float

时间:2012-07-19 13:40:53

标签: php mysql floating-point where sql-like

我希望获得像$float一样的浮点行。

我使用了这段代码:

$float = $_GET['float'];

$requst = mysql_fetch_array(mysql_query("SELECT * FROM floats WHERE float LIKE'$float.%%%%%%%'"));

然后我用while:

回显所有行
while ($r = $request) {

    echo $a['float'];

}

但页面没有显示任何内容。 (是的,我输入了地址栏?float=34,表格中有34.******等浮点数。)

有什么问题?

(PHP版本5.2,MYSQL版本5.0)

3 个答案:

答案 0 :(得分:2)

试试这个

$requst = mysql_query("SELECT * FROM floats WHERE float LIKE'$float.%%%%%%%'");
while ($r = mysql_fetch_array($request)) {

    echo $r['float'];

}

答案 1 :(得分:2)

select * from floats where floor(float) = $floor;怎么样?

答案 2 :(得分:1)

您的变量中已包含小数点。

"SELECT * FROM floats WHERE float LIKE '$float%'"

如果您的浮点数为34.567,则您的语句将执行为'34 .567。%'之类的查找,但未找到任何结果。

编辑: 那怎么样呢?

"SELECT * FROM floats WHERE abs(float-$float)<1;"

这会带来1到1之内的任何东西吗?

话虽如此,虽然你可以在mysql中保留浮点数,但在小数点后用小数点限制它们可能会更安全。