$num=$_POST['data'];
$no = (int) $num;
$sql = "select * from uploads where id > '$no'"
以上查询无法正常工作。它显示的是no.I以下的值。我认为转换的问题。有人请帮忙解决这个问题
答案 0 :(得分:1)
您在值周围有撇号,因此值将被比较为字符串,而不是数字。例如,字符串值10
小于字符串值2
。
删除撇号:
$sql = "select * from uploads where id > $no";
答案 1 :(得分: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";
尝试使用intval而不是强制转换为int
答案 2 :(得分:0)
您有Sno = ...
,它应该是$no = ...
。这是一个错字。
然后,查询中的数字不需要撇号,因此不要在此上下文中使用它们。
您还有$_post
而不是$_POST
- 这是另一个问题,variables in PHP are case-sensitive。
答案 3 :(得分:0)
试试这个
$sql = "select * from uploads where id > ".$no;
并且还放置$ _POST而不是$ _post
答案 4 :(得分:-1)
$no = (int) $_POST['data']; //wrong variable declaration ?
$sql = "select * from uploads where id > $no";
试试这个。
$_post
替换为$_POST
一个变量而不是两个