-1
My機能:なぜこの関数は終了した行を返しますか?
function fetchAllGames($limit=9, $page=1, $isEnded="")
{
global $mysqli,$db_table_prefix;
if($isEnded!=""){$myWhere="WHERE ended=".$isEnded." ";}else{$myWhere="";}
$offset=($page - 1) * $limit;
$stmt = $mysqli->prepare("SELECT
created_timestamp,
end_timestamp,
winner_userid,
ended,
name,
game_uniqID,
game_id,
img
FROM ".$db_table_prefix."game
".$myWhere."
LIMIT ".$limit."
OFFSET ".$offset);
$stmt->execute();
$stmt->bind_result($created_timestamp, $end_timestamp, $winner_userid, $ended, $name, $game_uniqID, $game_id, $gameImg);
while ($stmt->fetch()){
$row[] = array('created_timestamp' => $created_timestamp, 'end_timestamp' => $end_timestamp, 'winner_userid' => $winner_userid, 'ended' => $ended, 'name' => $name, 'game_uniqID' => $game_uniqID, 'game_id' => $game_id, 'gameImg' => $gameImg);
}
$stmt->close();
if (isset($row)){
return ($row);
}
}
私は$allGames = fetchAllGames(9,1,0);
でそれを呼び出す場合、それは0 =エンドと= 1を終了した行との両方の行を返し、私は$allGames = fetchAllGames(9,1,1);
でそれを呼び出す場合、それはエンド= 1で行だけを返します。 。私はなぜかどちらも理解できない。何か不足していますか?それでも
キャストの後に0 = ""あり、それは 'else {$ myWhere =" "";} 'を選択します – Drew
ちょっと分かりますか? –
論理的には、いいえ。しかし、あなたのコードではそうであるようです。 0を渡すと '$ myWhere'を退職できますか? – Drew