$num=$_POST['data'];
$no = (int) $num;
$sql = "select * from uploads where id > '$no'"
上記のクエリが正しく機能していません。番号の下の値が表示されています。変換の問題だと思います。誰かがこの問題の解決に協力してください。
値の周囲にアポストロフィがあるため、値は数値ではなく文字列として比較されます。10
たとえば、文字列値は文字列値よりも小さくなります2
。
アポストロフィを削除します。
$sql = "select * from uploads where id > $no";
代わりにこのコードを試してください:
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を使用してみてください
あなたが持っているSno = ...
、それはあるべきです$no = ...
。タイプミスです。
次に、クエリ内の数値はアポストロフィを必要としないため、このコンテキストでは使用しないでください。
また、$_post
代わりに$_POST
-これは別の問題です。PHPの変数では大文字と小文字が区別されます。
これで試してください
$sql = "select * from uploads where id > ".$no;
また、$_postの代わりに$_POSTを配置します
$no = (int) $_POST['data']; //wrong variable declaration ?
$sql = "select * from uploads where id > $no";
これを試して。
$_post
と取り換える$_POST
2つではなく1つの変数