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";

尝试使用intval而不是强制转换为 int

于 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

一个变量而不是两个

于 2013-02-16T12:02:33.100 回答