Php 带偏移量和限制的PDO获取所有记录

Php 带偏移量和限制的PDO获取所有记录,php,Php,查询会运行,但会通过不工作获取所有记录以及位置和顺序。有人能帮我吗?谢谢试着这样打印查询: $sql = "SELECT * FROM user WHERE id!=1 ORDER BY first_name LIMIT ?,? "; $data=array(); $statement = $this->conn->prepare($sql) or die("failed!"); $statement

查询会运行,但会通过不工作获取所有记录以及位置和顺序。有人能帮我吗?谢谢

试着这样打印查询:

 $sql = "SELECT * FROM user WHERE id!=1 ORDER BY first_name LIMIT ?,? ";    

            $data=array();
            $statement = $this->conn->prepare($sql) or die("failed!");
            $statement->bindParam(1, $position,PDO::PARAM_INT);
            $statement->bindParam(2, $limit,PDO::PARAM_INT);

            $statement->execute();

            while($row = $statement->fetch(PDO::FETCH_ASSOC)){
                  $data[] = $row;
            }

谢谢你的答复,我试过了,但是结果是一样的,并且显示了所有记录。你能分享你想要获取的表和数据吗?Thanx对于回答,我已经对它进行了排序,实际上我在哪里运行这个查询,我也是第二个查询,它获取了所有记录,所以我之前没有注意到,并花了几个小时来修复它。最后我笑了笑,然后才明白。谢谢大家在这件事上帮助我。问题现在解决了。Thanx再次,我运行了这个查询,但我对它的相同结果感到非常困惑。结果是数组(4),您可以注意到数组显示了4,我的表中总共有4条记录数组(4){[0]=>array(3){[“id”=>int(39)[“first_name”]=>string(5)“david”[“last_name”]=>string(6)“david2”}[1]=>array(3){[“id”=>int(40)[“first_name”=>string(7)“catania”[“last_name”]=>string(5)“helen”=>]=>int(45)[“first_name”]=>string(4)“loca”[“last_name”]=>string(4)“loca”}[3]=>array(3){[“id”]=>int(46)[“first_name”]=>string(6)“marina”[“last_name”]=>string(9)“marina jo”}@inocent-
$limit=5意味着最多5条记录,所以如果只有4条记录,它显然会显示所有4条记录。更改
$limit=5
$limit=2
和tryyes我将其更改为2,也将其更改为1,但结果在每种情况下都是相同的奇怪的是,您可能正在查看另一个查询的结果,而不是此查询的结果。。
$stmt = $this->conn->prepare("SELECT * FROM users where id !=:id LIMIT :limit, :offset");
$stmt->execute(['id'=>$id,'limit' => $limit, 'offset' => $offset]); 
$data = $stmt->fetchAll();
$id = 1;
$offset = 0;
$limit = 5;

$stmt = $this->conn->prepare("SELECT * FROM users where id !=:id ORDER BY first_name LIMIT :offset, :limit");
$stmt->execute([':id'=>$id,':limit' => $limit, ':offset' => $offset]); 
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);

var_dump($data);
exit;