gpt4 book ai didi

php - fetch_assoc 返回最后插入的元素

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

由于某些原因,mysql 只返回表中最后插入的元素,任何人都可以提示我的代码有什么问题吗?我只是在练习 php 并试图找出使函数易于重用的最佳方法(我的意思是只是练习 oop)。我知道这是一个糟糕的方法,但它仅用于练习目的。

<!DOCTYPE html>
<html>
<head>
<title>Test Title</title>
</head>
<body>
<?php
class Database{
public $db;

public function __construct($host,$username,$password,$dbname){

$this->db=new MySQLi($host,$username,$password,$dbname);

}
public function getData(){
$query="SELECT * FROM artisan";
$result=$this->db->query($query);
if($result->num_rows>0){
while($row=$result->fetch_assoc()){
echo "ID: ".$row["id"]. "-Username: ".$row["username"]. ", "."Email: ".$row["email"]."<br>";
}
}else{
echo "No results found!";
}

}
public function getContent(){
$query="SELECT * FROM content";
$result=$this->db->query($query);
$values=array();
if($result->num_rows>0){
while($row=$result->fetch_assoc()){
$values=array(
"title"=>$row['title'],
"body"=>$row['body']
);
}

}
return $values;
}
}
$database=new Database('localhost','root','','test');
$database->getData();
$values=$database->getContent();

?>

<style type="text/css">
.container{
text-align:center;
}
</style>
<div class="container">
<?php

for($i=0;$i<count($values);$i++){
echo $values["title"]."<br>";
echo $values["body"]."<br>";
}
?>
</div>
</body>
</html>

最佳答案

您应该将每一行添加到 $values 而不是每次都替换它。

你在哪里:

$values=array(
"title"=>$row['title'],
"body"=>$row['body']
);

将其更改为:

$values[] = array(
"title"=>$row['title'],
"body"=>$row['body']
);

然后你有显示器的地方:

for($i=0;$i<count($values);$i++){
echo $values["title"]."<br>";
echo $values["body"]."<br>";
}

更改为:

foreach($values as $value){
echo $value["title"]."<br>";
echo $value["body"]."<br>";
}

或者使用 FOR:

for($i=0;$i<count($values);$i++){
echo $values[$i]["title"]."<br>";
echo $values[$i]["body"]."<br>";
}

关于php - fetch_assoc 返回最后插入的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47702654/

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