我想获得像$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)
试试这个
$requst = mysql_query("SELECT * FROM floats WHERE float LIKE'$float.%%%%%%%'");
while ($r = mysql_fetch_array($request)) {
echo $r['float'];
}
select * from floats where floor(float) = $floor;
怎么样?
您的变量中已经有一个小数点。
"SELECT * FROM floats WHERE float LIKE '$float%'"
如果您的浮点值是34.567,那么您的语句执行为find,类似于"34.567.%",没有找到任何结果。
编辑:那么这个怎么样?
"SELECT * FROM floats WHERE abs(float-$float)<1;"
这会在1以内带来什么?
话虽如此,尽管您可以在mysql中保留浮点值,但将其保留为小数形式可能更安全,小数后的点数有限。