PHP mysql中limit用法详解(代码示例)

藏色散人
藏色散人原创
2019-03-22 16:05:496537浏览


在MySQL中,LIMIT子句与SELECT语句一起使用,以限制结果集中的行数。LIMIT子句接受一个或两个offset和count的参数。这两个参数的值都可以是零或正整数。

offset:用于指定要返回的第一行的偏移量。

Count:用于指定要返回的最大行数。

Limit子句接受一个或两个参数,当指定两个参数时,第一个参数是偏移量,第二个参数表示计数,而当只指定一个参数时,它表示从结果集开始返回的行数。

LIMIT语法:

SELECT column1, column2, ...
FROM table_name
LIMIT offset, count;

如下表“Data”,其中包含三列“Firstname”、“Lastname”和“Age”。

b0bbb7fc631039addae8795a14fa7ae.png

要从“Data”表中检索前三行,我们将使用以下查询:

SELECT * FROM Data LIMIT 3;

要从“Data”表中检索第2-3行(包括),我们将使用以下查询:

SELECT * FROM Data LIMIT 1, 2;

下面是PHP mysql实现查询的代码示例:

示例1:Limit条件

<?php 
$link = mysqli_connect("localhost", "root", "", "Mydb"); 
  
if ($link == = false) { 
    die("ERROR: Could not connect. ".mysqli_connect_error()); 
} 
  
$sql = "SELECT * FROM Data LIMIT 2"; 
if ($res = mysqli_query($link, $sql)) { 
    if (mysqli_num_rows($res) > 0) { 
        echo "<table>"; 
        echo "<tr>"; 
        echo "<th>Firstname</th>"; 
        echo "<th>Lastname</th>"; 
        echo "<th>Age</th>"; 
        echo "</tr>"; 
        while ($row = mysqli_fetch_array($res)) { 
            echo "<tr>"; 
            echo "<td>".$row['Firstname']."</td>"; 
            echo "<td>".$row['Lastname']."</td>"; 
            echo "<td>".$row['Age']."</td>"; 
            echo "</tr>"; 
        } 
        echo "</table>"; 
        mysqli_free_result($res); 
    } 
    else { 
        echo "No matching records are found."; 
    } 
} 
else { 
    echo "ERROR: Could not able to execute $sql. ".mysqli_error($link); 
} 
  
mysqli_close($link);

输出:

b1ad7d3eeb2f25037173ca66807f8a3.png

注:“res”变量存储函数mysql_query()返回的数据。

每次调用mysqli_fetch_array()时,它都会从res()集中返回下一行。

while循环用于遍历表“data”的所有行。

示例2:使用面向对象方法的Limit子句

<?php 
$mysqli = new mysqli("localhost", "root", "", "Mydb"); 
  
if ($mysqli == = false) { 
    die("ERROR: Could not connect. ".$mysqli->connect_error); 
} 
  
$sql = "SELECT * FROM Data LIMIT 2"; 
if ($res = $mysqli->query($sql)) { 
    if ($res->num_rows > 0) { 
        echo "<table>"; 
        echo "<tr>"; 
        echo "<th>Firstname</th>"; 
        echo "<th>Lastname</th>"; 
        echo "<th>Age</th>"; 
        echo "</tr>"; 
        while ($row = $res->fetch_array()) { 
            echo "<tr>"; 
            echo "<td>".$row['Firstname']."</td>"; 
            echo "<td>".$row['Lastname']."</td>"; 
            echo "<td>".$row['Age']."</td>"; 
            echo "</tr>"; 
        } 
        echo "</table>"; 
        $res->free(); 
    } 
    else { 
        echo "No matching records are found."; 
    } 
} 
else { 
    echo "ERROR: Could not able to execute $sql. ".$mysqli->error; 
} 
  
$mysqli->close();

输出:

bf8ae206a311a53339d4bf5387fe739.png

示例3:使用PDO方法的Limit子句

<?php 
try { 
    $pdo = new PDO("mysql:host=localhost;dbname=Mydb", "root", ""); 
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch (PDOException $e) { 
    die("ERROR: Could not connect. ".$e->getMessage()); 
} 
  
try { 
    $sql = "SELECT * FROM Data LIMIT 2"; 
    $res = $pdo->query($sql); 
    if ($res->rowCount() > 0) { 
        echo "<table>"; 
        echo "<tr>"; 
        echo "<th>Firstname</th>"; 
        echo "<th>Lastname</th>"; 
        echo "<th>Age</th>"; 
        echo "</tr>"; 
        while ($row = $res->fetch()) { 
            echo "<tr>"; 
            echo "<td>".$row['Firstname']."</td>"; 
            echo "<td>".$row['Lastname']."</td>"; 
            echo "<td>".$row['Age']."</td>"; 
            echo "</tr>"; 
        } 
        echo "</table>"; 
        unset($res); 
    } 
    else { 
        echo "No matching records are found."; 
    } 
} 
catch (PDOException $e) { 
    die("ERROR: Could not able to execute $sql. ".$e->getMessage()); 
} 
  
unset($pdo);

输出:

159bb15415432bd87c408fcd0388a41.png

相关推荐:《mysql教程

本篇文章就是关于mysql中limit用法详解,希望对需要的朋友有所帮助!


以上就是PHP mysql中limit用法详解(代码示例)的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。