Elsensee hat geschrieben:Wenn ein leeres Array zurückgegeben wird, würde ich prüfen, ob die UUID denn auch in der Datenbank vorhanden ist. Lieber zweimal prüfen - manchmal sieht man den Wald vor lauter Bäumen nicht.
Ansonsten fällt mir nichts ein, was daran nicht klappen könnte. Vielleicht mal alternativ, die Parameter direkt im execute()
übergeben? Wie hier:
Die UUID ruf ich von einer Webseite ab, die dort im JSON-Format zu finden ist. Und das klappt auch einwandfrei.
Ich hab es mal mit
probiert, jedoch wird mir ein Fehler geworfen:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in /var/www/vhosts/<url>/httpdocs/stats/index.php:38 Stack trace: #0 /var/www/vhosts/<url>/httpdocs/stats/index.php(38): PDOStatement->execute(Array) #1 /var/www/vhosts/<url>/httpdocs/stats/index.php(4): StatsLoader->__construct() #2 {main} thrown in /var/www/vhosts/<url>/httpdocs/stats/index.php on line 38
Und Zeile 38 ist die (hier) oben gezeigte.[/i]
####### EDIT ########
Okay, nun passiert einfach garnichts:
Code: Alles auswählen
try {
$handler = new PDO($strDbLocation, $strDbUser, $strDbPassword);
$handler -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $exeption) {
die('Sorry, aber unser Dienst ist derzeit nicht erreichbar.');
}
$query = $handler -> prepare('SELECT * FROM players WHERE UUID=:uuid');
$query -> bindParam(':uuid', $this -> uuid);
$query -> execute(array(":uuid" => $this -> uuid));
$r = $query -> fetch(PDO::FETCH_ASSOC);
echo 'username: ' . $r['username'], '<br>';
foreach ($r as $key => $value) {
echo $value;
}