Php 如何在从数据库获取数据时仅获取最后一次迭代值,I';我尝试过以JSON格式获取值
这是我试过的。 我试着从数据库中获取数据。它显示从迭代开始到迭代结束的数据。我只需要最后一个迭代值。我是一个完全的noob。如果您能帮忙,我们将不胜感激Php 如何在从数据库获取数据时仅获取最后一次迭代值,I';我尝试过以JSON格式获取值,php,mysqli,Php,Mysqli,这是我试过的。 我试着从数据库中获取数据。它显示从迭代开始到迭代结束的数据。我只需要最后一个迭代值。我是一个完全的noob。如果您能帮忙,我们将不胜感激 <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "api_db"; $conn = new mysqli($servername, $usern
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "api_db";
$conn = new mysqli($servername, $username, $password, $dbname);
$myarray=array();
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, name, description FROM products";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_array(MYSQL_ASSOC)) {
$myarray[]= $row;
// echo "<pre>";
// print_r($myarray);
echo "<pre>";echo json_encode($myarray);
// echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Description :" . $row["description"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
将SQL查询更改为
$nor = mysqli_num_rows($result); //Number of rows
mysqli_data_seek($resutl, ($nor - 1)); //Indices are based on 0
那会对你有用。最后,我明白了你的意思,你想要什么- 您需要在一个变量中获取所有记录。您最后可以对其进行编码。 为此,请执行以下操作:- 1.在循环外部初始化数组 2.将每条记录分配给循环内的数组 3.对循环外的数组进行编码 你可以这样做:-
虽然在我看来它是重复的,但我建议如下,假设您不打算从DBMS中对数据集进行排序。 用于移动遍历数据集的光标。所以你的情况是 基本上,
$nor
包含记录总数。因此,最后一条记录的索引将是$nor-1
当然如果使用
排序依据对查询中的数据集进行排序
,然后最好的方法是添加ORDER BY id DESC LIMIT 1
可能的重复项,我猜我的问题把你们搞糊涂了。通过添加此代码,我只得到了数据库的最后一个值。我的默认代码迭代数据库中的每个数据。但它逐个迭代该值,最后一个迭代值包含所有数据。这正是我需要的@SubashKumarKR很高兴帮助您:):)
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "api_db";
$conn = new mysqli($servername, $username, $password, $dbname);
$myarray=array();
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, name, description FROM products";
$result = $conn->query($sql);
$myarray = []; //Initialize array outside of the loop
if ($result->num_rows > 0) {
while($row = $result->fetch_array(MYSQL_ASSOC)) {
$myarray[] = $row; //Assign each record to the array inside the loop
}
} else {
echo "0 results";
}
$conn->close();
echo json_encode($myarray);//Encode array outside the loop
?>
$nor = mysqli_num_rows($result); //Number of rows
mysqli_data_seek($resutl, ($nor - 1)); //Indices are based on 0