【发布时间】:2015-03-31 14:21:54
【问题描述】:
当我尝试使用 $stmt->fetch(PDO::FETCH_ASSOC); 时没有给出结果它给了我 3 倍相同的结果。
$sql = "SELECT char_name, pvpkills FROM characters WHERE accesslevel=:normalPlayer AND pvpkills>=:minPvp ORDER BY pvpkills DESC LIMIT :maxRows";
$stmt = $this->db->prepare($sql);
$stmt->bindParam(':normalPlayer', $normalPlayer, PDO::PARAM_INT);
$stmt->bindParam(':minPvp', $minPvp, PDO::PARAM_INT);
$stmt->bindParam(':maxRows', $maxRows, PDO::PARAM_INT);
$stmt->execute();
$cuentaPvp = $stmt->rowCount();
$resPvp = $stmt->fetchAll(PDO::FETCH_ASSOC);
Session::init();
Session::set('cuenta_pvp', $cuentaPvp);
for($i = 0; $i<$cuentaPvp; $i++){
Session::set('pvp_name'.$i, $resPvp['char_name']);
Session::set('pvp_count'.$i, $resPvp['pvpkills']);
}
【问题讨论】:
-
您实际上并没有遍历
$resPvp,这就是您得到相同结果的原因。