English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico PHP

Tutorial Avançado PHP

PHP & MySQL

Manual de Referência PHP

LIMIT MySQL PHP

Neste tutorial, você aprenderá como ler um número limitado de registros de uma tabela do banco de dados MySQL usando PHP.

limita o conjunto de resultados

LIMITA cláusulaSELECTO número de linhas retornadas pela instrução. Esta funcionalidade é muito útil para otimizar o tempo de carregamento da página e melhorar a legibilidade do site. Por exemplo, você pode usar paginação para dividir um grande número de registros em várias páginas, carregando um número limitado de registros de cada página quando o usuário solicita a página através de cliques nos links de paginação.

A sintaxe básica da cláusula LIMIT pode ser dada da seguinte forma:

SELECT column_name(s) FROM table_name LIMIT row_offset, row_count;

A cláusula LIMIT aceita um ou dois parâmetros que devem ser números inteiros não negativos:

  • Quando dois parâmetros são especificados, o primeiro parâmetro especifica o deslocamento do primeiro linha a ser retornada, ou seja, o ponto de partida, enquanto o segundo parâmetro especifica o número de linhas a serem retornadas. O deslocamento da primeira linha é 0 (não1)。

  • Quando apenas um parâmetro é fornecido, ele especifica o número máximo de linhas a serem retornadas a partir do início do conjunto de resultados.

Por exemplo, para recuperar as três primeiras linhas, você pode usar a seguinte consulta:

SELECT * FROM persons LIMIT 3;

Para recuperar o conjunto de resultados da2-4linhas (contendo), você pode usar a seguinte consulta:

SELECT * FROM persons LIMIT 1, 3;

Vamos usar a cláusula LIMIT na instrução SELECT para realizar uma consulta SQL, e então passar essa consulta para a função mysqli_query() do PHP para executá-la, para obter um número limitado de registros. Considere a tabela persons do banco de dados de demonstração a seguir:

+----+------------+-----------+----------------------+
| id | first_name | last_name | email               |
+----+------------+-----------+----------------------+
|  1 | Peter      | Parker    | [email protected] |
|  2 | John       | Rambo     | [email protected]   |
|  3 | Clark      | Kent      | [email protected]   |
|  4 
|  5 
+----+------------+-----------+----------------------+

O código PHP no exemplo a seguir mostra apenaspersonsTrês linhas na tabela.

Exemplo: Método procedimental

<?php
/*Tente conectar ao servidor MySQL. Suponha que você esteja executando o MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
$link = mysqli_connect("localhost", "root", "", "demo");
 
//Verificar conexão

    die(\
}
 
//尝试选择查询执行
$sql = "SELECT * FROM persons LIMIT 3";
if($
esult = mysqli_query($link, $sql)){
    if(mysqli_num_rows($
esult) > 0){
        echo "<table>";
            echo "<tr>";
                echo "<th>id</th>";
                echo "<th>first_name</th>";
                echo "<th>last_name</th>";
                echo "<th>email</th>";
            echo "</tr>";
        while($
ow = mysqli_fetch_array($
esult)){
            echo "<tr>";
                echo "<td>" . $row['id'] . "</td>";
                echo "<td>" . $row['first_name'] . "</td>";
                echo "<td>" . $row['last_name'] . "</td>";
                echo "<td>" . $row['email'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        //Fechar conjunto de resultados
        
    } else{
        echo "找不到与您的查询匹配的记录。";
    }
} else{
    echo \
}
 
//关闭连接
mysqli_close($link);
?>

Exemplo: Método orientado a objetos

<?php
/*Tente conectar ao servidor MySQL. Suponha que você esteja executando o MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//Verificar conexão

    die(\->connect_error);
}
 
//尝试选择查询执行
$sql = "SELECT * FROM persons LIMIT 3";
if($
esult = $mysqli->query($sql)){
    if($result->num_rows > 0){
        echo "<table>";
            echo "<tr>";
                echo "<th>id</th>";
                echo "<th>first_name</th>";
                echo "<th>last_name</th>";
                echo "<th>email</th>";
            echo "</tr>";
        while($row = $result->fetch_array()){
            echo "<tr>";
                echo "<td>" . $row['id'] . "</td>";
                echo "<td>" . $row['first_name'] . "</td>";
                echo "<td>" . $row['last_name'] . "</td>";
                echo "<td>" . $row['email'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        //释放结果集
        $result-
    } else{
        echo "找不到与您的查询匹配的记录。";
    }
} else{
    echo \->error;
}
 
//关闭连接
$mysqli->close();
?>

Exemplo: Método PDO

<?php
/*Tente conectar ao servidor MySQL. Suponha que você esteja executando o MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", \
    //definir o modo de erro PDO como exceção
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("错误:无法连接。 " . $e->getMessage());
}
 
//尝试选择查询执行
try{
    $sql = "SELECT * FROM persons LIMIT 3";  
    $result = $pdo->query($sql);
    if($result->rowCount() > 0){
        echo "<table>";
            echo "<tr>";
                echo "<th>id</th>";
                echo "<th>first_name</th>";
                echo "<th>last_name</th>";
                echo "<th>email</th>";
            echo "</tr>";
        while($row = $result->fetch()){
            echo "<tr>";
                echo "<td>" . $row['id'] . "</td>";
                echo "<td>" . $row['first_name'] . "</td>";
                echo "<td>" . $row['last_name'] . "</td>";
                echo "<td>" . $row['email'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        //释放结果集
        unset($result);
    } else{
        echo "找不到与您的查询匹配的记录。";
    }
} catch(PDOException $e){
    die("错误:无法执行 $sql. " . $e->getMessage());
}
 
//关闭连接
unset($pdo);
?>

限制结果集后,输出将如下所示:

+----+------------+-----------+----------------------+
| id | first_name | last_name | email               |
+----+------------+-----------+----------------------+
|  1 | Peter      | Parker    | [email protected] |
|  2 | John       | Rambo     | [email protected]   |
|  3 | Clark      | Kent      | [email protected]   |
+----+------------+-----------+----------------------+