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

どうselect * from floats where floor(float) = $floor;ですか?

于 2012-07-19T13:47:05.273 に答える
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 に答える
1

変数にはすでに小数点が含まれています。

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

float が 34.567 の場合、ステートメントは '34.567.%' のような検索として実行され、結果が見つかりません。

編集:これはどうですか?

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

それは1以内に何かをもたらしますか?

そうは言っても、フロートを mysql に保持することはできますが、小数点以下の桁数が制限された小数として保持する方が安全かもしれません。

于 2012-07-19T13:44:04.103 に答える