假设我有一个显示用户信息的网站(主要是姓名和年龄),我想知道从数据库中获取所有记录的最优化和最有效的方法是什么。
虽然我刚刚开始学习DBMS,这是我的第一段代码
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "simple_login";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT name,age from `members`";
$result = $conn->query($sql);
for($i=1;$i<6;$i++)
{
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$name=$row['name'];
$age=$row['age'];
?>
<div class="container">
<h4>Name : <? echo $name; ?></h4>
<h4>Age : <? echo $age; ?></h4>
</div>
但我不确定它是否是获取和显示记录的最佳方式。 除此之外,如果我想在不同的页面上显示相同的信息,我是否必须一次又一次地复制所有这些?
答案 0 :(得分:1)
执行if ($result->num_rows > 0) {
多次是低效的,查询所有记录然后只使用6.在检查返回并limit
查询后循环获取。
$limit = empty($limit) ? 6 : (int) $limit;
$sql = "SELECT name,age from `members` limit $limit";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
您可以在其他页面上使用此方法:
<?php
$limit = 10;
include 'my_member_script.php';
将输出10个成员。