gpt4 book ai didi

PHP如何使用类调用数据库中的所有值

转载 作者:行者123 更新时间:2023-11-29 12:08:29 24 4
gpt4 key购买 nike

我有这张 table ID 选项卡_名称1 饮料2 食物3 控制台

我想获取所有 Tabs_Names 值,但我找不到方法。我只得到第一个结果。这是我的代码

    class Tabs{
public $ID = 0;
public $Tab_Name = "";
public $Tab_Count=0;

public function __construct()
{
$servername = "****";
$username = "****";
$password = "****";
$dbname = "****";
$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$query = "SELECT ID, Tab_Name, Count(Tab_Name) As Tab_Count FROM Dummie_tabs";
//$query2 = "SELECT COUNT(Tab_Name) AS Tab_Count FROM Dummie_tabs";
$result = $conn->query($query);
//$result2 = $conn->query($query2);

if ($result->num_rows > 0) {
$row = $result->fetch_assoc();

$this->ID = $row["ID"];
$this->Tab_Name = $row["Tab_Name"];
$this->Tab_Count =$row["Tab_Count"];


}
else {
echo "0 results";

}
}
public function __destruct()
{
;
}
public function setID($ID, $Tab_Count)
{
$this->ID = $ID;
$this->Tab_Count= $Tab_Count;
}
public function getTab()
{
return $this->Tab_Name . $this->Tab_Count ."<br />";

}

}

$R = new Tabs();


echo $R->getTab();

我需要从数据库中检索所有值

最佳答案

您可以执行以下两种操作之一来从数据库获取数据 - 这在类中与在过程代码中执行的操作没有什么不同。

方法 1:不使用从数据库中提取单个记录的“fetch”,而是使用 fetchall 来提取查询的所有行。

方法 2:使用循环来迭代数据库中匹配的记录。这是代码中最常用的方法。

while($row = $result->fetch_assoc()) 
{
$this->ID = $row["ID"];
$this->Tab_Name = $row["Tab_Name"];
$this->Tab_Count =$row["Tab_Count"];
}

但目前代码的编写方式是,它将迭代结果并每次替换属性的内容。您可以考虑将它们放入这样的数组中:

while($row = $result->fetch_assoc()) 
{
$this->ID[] = $row["ID"];
$this->Tab_Name[] = $row["Tab_Name"];
$this->Tab_Count[] =$row["Tab_Count"];
}

编辑:正如下面的评论所指出的,您的 SQL 查询也有缺陷。您正在使用 count(*) 聚合函数 - 但尚未正确对所选列进行分组:

SELECT ID, Tab_Name, Count(Tab_Name) As Tab_Count      
FROM Dummie_tabs
GROUP BY ID, Tab_Name

关于PHP如何使用类调用数据库中的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31085916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com