2016-05-31 5 views
-3

Wie mysqli_fetch_array zu beheben() erwartet Parameter 1 bis MySQLi_Result werden, boolean in geben ...Warnung: mysqli_fetch_array() erwartet Parameter 1 bis MySQLi_Result werden, da boolean in

Fehlerzeile: while ($ lvl = mysqli_fetch_array ($ lvls))

$result = mysqli_query($conn, "SELECT count(*) FROM players"); 
$roww = mysqli_fetch_row($result); 
$total = $roww[0]; 
$playersCount = mysqli_fetch_row($result); 
$pagesCount = ceil($playersCount/$playersOnPage); 
$fromLimit = ($currentPage - 1) * $playersOnPage; 
$dbquery = "SELECT * FROM `players` ORDER BY `score` DESC".$fromLimit.", ".$playersOnPage.""; 
$lvls = mysqli_query($conn, $dbquery, MYSQLI_USE_RESULT); 

while($lvl = mysqli_fetch_array($lvls)) 

Antwort

0

Versuchen Sie den folgenden Code zu verwenden:

$result = mysqli_query($conn, "SELECT count(*) FROM players"); 
$roww = mysqli_fetch_row($result); 
$total = $roww[0]; 
$playersCount = mysqli_fetch_row($result); 
$pagesCount = ceil($playersCount/$playersOnPage); 
$fromLimit = ($currentPage - 1) * $playersOnPage; 

//Here was the mistake! 
$dbquery = "SELECT * FROM `players` ORDER BY `score` DESC LIMIT ".$fromLimit.", ".$playersOnPage; 
$lvls = mysqli_query($conn, $dbquery, MYSQLI_USE_RESULT); 

while($lvl = mysqli_fetch_array($lvls)) 

Erläuterung:

Das Ergebnis der $dbquery würde wie folgt aussehen:

SELECT * FROM `players` ORDER BY `score` DESC LIMIT 1, 2 -- valid 
:

SELECT * FROM `players` ORDER BY `score` DESC1, 2 -- not valid! 

Mit den neuen $dbquery aus meiner Lösung über Sie folgende erhalten

Verwandte Themen