Фатальная ошибка: вызов функции-члена fetch assoc () в строке
Я попытался выполнить запрос и повторить результат. echo "<h1>" . $row["SummonerId"]. "</h1>";
работает, и он распечатывает его на странице. Но почему-то эта ошибка произошла после того, как был напечатан результат:
Фатальная ошибка: вызов функции-члена fetch_assoc () в строке
Я видел много ошибок, подобных этой. Но это on a non-object
, а не on string
. Что это за ошибка?
Вот мой код:
$servername = "localhost:3307";
$username = "root";
$password = "";
$dbname = "st-datacollector";
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM summoner";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<h1>" . $row["SummonerId"]. "</h1>";
$summonerId = $row["SummonerId"];
$url = "https://euw.api.pvp.net/api/lol/euw/v1.3/game/by-summoner/" . $summonerId . "/recent?api_key=" . $api_key;
$result = file_get_contents($url);
$resultJSON = json_decode($result);
foreach($resultJSON_decoded->games as $game){
echo $game->gameMode." ".$game->gameType." ".$game->subType;
echo "<br>";
}
}
} else {
echo "0 results";
}
$conn->close();
1 ответ:
$result
переменная используется для цикла через запрос mysql, вы должны использовать различные имена переменных внутри вашего цикла$servername = "localhost:3307"; $username = "root"; $password = ""; $dbname = "st-datacollector"; $conn = new mysqli($servername, $username, $password, $dbname); $sql = "SELECT * FROM summoner"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "<h1>" . $row["SummonerId"]. "</h1>"; $summonerId = $row["SummonerId"]; $url = "https://euw.api.pvp.net/api/lol/euw/v1.3/game/by-summoner/" . $summonerId . "/recent?api_key=" . $api_key; $fcontents = file_get_contents($url); $resultJSON = json_decode($fcontents); foreach($resultJSON_decoded->games as $game){ echo $game->gameMode." ".$game->gameType." ".$game->subType; echo "<br>"; } } } else { echo "0 results"; } $conn->close();
Еще одна маленькая вещь, которую я заметил..
$resultJSON
и$resultJSON_decoded
не совпадает внутри цикла