在MySQL中,LIMIT子句与SELECT语句一起使用,以限制结果集中的行数。LIMIT子句接受一个或两个offset和count的参数。这两个参数的值都可以是零或正整数。
offset:用于指定要返回的第一行的偏移量。
Count:用于指定要返回的最大行数。
Limit子句接受一个或两个参数,当指定两个参数时,第一个参数是偏移量,第二个参数表示计数,而当只指定一个参数时,它表示从结果集开始返回的行数。
LIMIT语法:
SELECT column1, column2, ... FROM table_name LIMIT offset, count;
如下表“Data”,其中包含三列“Firstname”、“Lastname”和“Age”。
要从“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);
输出:
注:“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();
输出:
示例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);
输出:
相关推荐:《mysql教程》
本篇文章就是关于mysql中limit用法详解,希望对需要的朋友有所帮助!
Atas ialah kandungan terperinci PHP mysql中limit用法详解(代码示例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!