我希望获得像$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)
答案 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中保留浮点数,但在小数点后用小数点限制它们可能会更安全。