尝试读取数组上的属性

Epi*_*lol 3 php database arrays properties

我收到这个错误:

\n
Warning: Attempt to read property "squadra" on array in C:\\xampp\\htdocs\\statistiche-calcio\\index.php on line 57\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的 db.php 文件的代码:

\n
    <?php\n\nfunction connect($dbHost, $dbName, $dbUsername, $dbPassword){\n\n    $db = new mysqli(\n        $dbHost, \n        $dbUsername, \n        $dbPassword, \n        $dbName\n    );\n\n    if($db->connect_error){\n        die("Impossibile connettersi al database \\n" . $db->connect_error . "\\n" . $db->connect_errno);\n    }\n    return $db;\n}\n\n\nfunction fetchAll(mysqli $db, $table){\n\n    $data = [];\n\n    $sql = "SELECT * FROM $table";\n\n    $results = $db->query($sql);\n\n    if($results->num_rows > 0){\n        while($row = $results->fetch_object()){\n            $data[] = $row;\n        }\n    }\n    return $data;\n}\n\n\n\nfunction fetchSquadra(mysqli $db, $table, $squadra){\n\n    $data = [];\n\n    $sql = "SELECT * FROM $table WHERE id = " . $squadra;\n\n    $results = $db->query($sql);\n\n    if($results->num_rows === 1){\n        while($row = $results->fetch_object()){\n            $data[] = $row;\n        }\n            \n    }\n    return $data;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的index.php,我收到错误:

\n
<?php\nrequire_once('config.php');\nrequire_once('db.php');\n\n$db = connect(\n    DB_HOST, \n    DB_NAME, \n    DB_USERNAME, \n    DB_PASSWORD,\n);\n\n$records = [];\n\n$records = fetchAll($db, 'partite');\n\n\n?>\n\n<!DOCTYPE html>\n<html lang="en">\n<head>\n    <meta charset="UTF-8">\n    <meta http-equiv="X-UA-Compatible" content="IE=edge">\n    <meta name="viewport" content="width=device-width, initial-scale=1.0">\n    <title>Document</title>\n</head>\n<body>\n    <style>\n    table, th, td{\n        border: 1px solid grey;\n        text-align: center;\n    }\n    </style>\n    <h1>Risultati Premier League</h1>\n    <table>\n        <thead>\n            <tr>\n                <th>ID</th>\n                <th>Data</th>\n                <th>Casa</th>\n                <th>Risultato</th>\n                <th>Ospite</th>\n                <th>Risultato 1 tempo</th>\n            </tr>\n        </thead>\n        <tbody>\n            <?php\n            if(count($records) > 0):\n                foreach($records as $record):\n                    $squadra_casa = fetchSquadra($db, 'squadre', $record->squadra_casa);\n                    $squadra_ospite = fetchSquadra($db, 'squadre', $record->squadra_ospite);\n                    \n                    ?>\n                    <tr>\n                        <td><?php echo $record->id;?></td>\n                        <td><?php echo $record->data;?></td>\n                        <td><?php echo $squadra_casa->squadra;?></td>\n                        <td><?php echo $record->goal_casa . " - ". $record->goal_ospite;?></td>\n                        <td><?php echo $squadra_ospite->squadra;?></td>\n                        <td><?php echo $record->goal_casa_1t . " - ". $record->goal_ospite_1t;?></td>\n                    </tr>\n                    <?php\n                endforeach;\n            else: ?>\n                <tr>\n                    <td colspan="6">Non \xc3\xa8 stata trovata nessuna partita!</td>\n                </tr>\n                <?php endif ?>\n        </tbody>\n    </table>\n</body>\n</html>\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试 var_dump() 变量 $squadra_casa 并得到以下结果:

\n
\n

数组(1) {\n[0]=>\n对象(stdClass)#5 (3) {\n["id"]=>\n字符串(2) "18"\n["squadra"]=>\ nstring(6) "富勒姆"\n["campionato"]=>\nstring(1) "1"\n}\n}

\n
\n

但是当我尝试回显 $squadra_casa->squadra 属性时,我收到错误。

\n

我该如何解决它?我做错了什么?

\n

Abo*_*eri 5

你应该试试$squadra_casa[0]->squadra