Ich habe versucht, eine Abfrage auszuführen und durch das Ergebnis zu iterieren. Die echo "<h1>" . $row["SummonerId"]. "</h1>";
funktioniert und es druckt es auf der Seite aus. Aber irgendwie ist dieser Fehler nach dem Druckergebnis aufgetreten:Schwerwiegender Fehler: Aufruf einer Memberfunktion fetch_assoc() für die Zeichenfolge
Fatal error: Call to a member function fetch_assoc() on string
Ich sah viele Fehler ähnlich. Aber das sind on a non-object
und nicht on string
. Was ist das für ein Fehler?
Hier ist mein Code:
$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();
Eine Zeichenfolge ist ein Nicht-Objekt. – AbraCadaver
In dem Code in Ihrer Frage wird 'fetch_assoc()' nicht verwendet, nachdem '$ row [" SummonerId "]' ausgegeben wurde, und '$ result' kann keine Zeichenkette sein, daher scheint es unmöglich zu sein, diesen spezifischen Fehler zu erzeugen . Ist mehr Code nicht enthalten? –
Ja, ich sehe nicht, wie dies zu diesem Fehler führen könnte. – VikingBlooded