0

我想获得像我这样的浮动行$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 版)

4

3 回答 3

2

试试这个

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

    echo $r['float'];

}
于 2012-07-19T13:44:20.497 回答
2

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

于 2012-07-19T13:47:05.273 回答
1

您的变量中已经有一个小数点。

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

如果您的浮点数为 34.567,则您的语句执行为 find like '34.567.%' ,但未找到任何结果。

编辑:那这个怎么样?

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

那会在1内带来任何东西吗?

话虽如此,尽管您可以在 mysql 中保留浮点数,但将它们保留为小数点可能更安全,小数点后的点数有限。

于 2012-07-19T13:44:04.103 回答