$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つの変数