0
$num=$_POST['data'];
$no = (int) $num;
$sql = "select * from uploads where id > '$no'"

上記のクエリが正しく機能していません。番号の下の値が表示されています。変換の問題だと思います。誰かがこの問題の解決に協力してください。

4

5 に答える 5

1

値の周囲にアポストロフィがあるため、値は数値ではなく文字列として比較されます。10たとえば、文字列値は文字列値よりも小さくなります2

アポストロフィを削除します。

$sql = "select * from uploads where id > $no";
于 2013-02-16T12:05:12.977 に答える
1

代わりにこのコードを試してください:

if ( empty( $_POST['data'] ) ){
    // show error message
    echo "No data received";
    // use a default values
    $num = 0;
}
else 
    $num=$_POST['data'];

$no = intval($num);
$sql = "select * from uploads where id > $no";

intにキャストする代わりにintvalを使用してみてください

于 2013-02-16T12:06:35.113 に答える
0

あなたが持っているSno = ...、それはあるべきです$no = ...。タイプミスです。

次に、クエリ内の数値はアポストロフィを必要としないため、このコンテキストでは使用しないでください。

また、$_post代わりに$_POST-これは別の問題です。PHPの変数では大文字と小文字が区別されます。

于 2013-02-16T12:03:16.597 に答える
0

これで試してください

$sql = "select * from uploads where id > ".$no;

また、$_postの代わりに$_POSTを配置します

于 2013-02-16T12:05:46.570 に答える
-1
$no = (int) $_POST['data']; //wrong variable declaration ?
$sql = "select * from uploads where id > $no";

これを試して。

$_postと取り換える$_POST

2つではなく1つの変数

于 2013-02-16T12:02:33.100 に答える