如何解决尝试读取数组上的属性
我收到此错误:
Warning: Attempt to read property "squadra" on array in C:\xampp\htdocs\statistiche-calcio\index.php on line 57
这是我的 db.php 文件的代码:
<?php
function connect($dbHost,$dbName,$dbUsername,$dbPassword){
$db = new mysqli(
$dbHost,$dbPassword,$dbName
);
if($db->connect_error){
die("Impossibile connettersi al database \n" . $db->connect_error . "\n" . $db->connect_errno);
}
return $db;
}
function fetchAll(mysqli $db,$table){
$data = [];
$sql = "SELECT * FROM $table";
$results = $db->query($sql);
if($results->num_rows > 0){
while($row = $results->fetch_object()){
$data[] = $row;
}
}
return $data;
}
function fetchSquadra(mysqli $db,$table,$squadra){
$data = [];
$sql = "SELECT * FROM $table WHERE id = " . $squadra;
$results = $db->query($sql);
if($results->num_rows === 1){
while($row = $results->fetch_object()){
$data[] = $row;
}
}
return $data;
}
这是我的 index.php 出现错误:
<?php
require_once('config.php');
require_once('db.php');
$db = connect(
DB_HOST,DB_NAME,DB_USERNAME,DB_PASSWORD,);
$records = [];
$records = fetchAll($db,'partite');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
</head>
<body>
<style>
table,th,td{
border: 1px solid grey;
text-align: center;
}
</style>
<h1>Risultati Premier League</h1>
<table>
<thead>
<tr>
<th>ID</th>
<th>Data</th>
<th>Casa</th>
<th>Risultato</th>
<th>Ospite</th>
<th>Risultato 1 tempo</th>
</tr>
</thead>
<tbody>
<?php
if(count($records) > 0):
foreach($records as $record):
$squadra_casa = fetchSquadra($db,'squadre',$record->squadra_casa);
$squadra_ospite = fetchSquadra($db,$record->squadra_ospite);
?>
<tr>
<td><?php echo $record->id;?></td>
<td><?php echo $record->data;?></td>
<td><?php echo $squadra_casa->squadra;?></td>
<td><?php echo $record->goal_casa . " - ". $record->goal_ospite;?></td>
<td><?php echo $squadra_ospite->squadra;?></td>
<td><?php echo $record->goal_casa_1t . " - ". $record->goal_ospite_1t;?></td>
</tr>
<?php
endforeach;
else: ?>
<tr>
<td colspan="6">Non è stata trovata nessuna partita!</td>
</tr>
<?php endif ?>
</tbody>
</table>
</body>
</html>
我尝试 var_dump() 变量 $squadra_casa 并且我得到了这个:
数组(1){ [0]=> 对象(标准类)#5(3){ ["id"]=> 字符串(2)“18” [“小队”]=> 字符串(6)“富勒姆” ["campionato"]=> 字符串(1)“1” } }
但是当我尝试回显 $squadra_casa->squadra 属性时,我得到了错误。
我该如何解决?我做错了什么?
解决方法
你应该试试$squadra_casa[0]->squadra
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。