所以我目前正在开展一个项目, 我有一个有一些数字的部分,每个子部分应该显示特定用户的记录或行数。我设法显示行数,但似乎有一个问题,行数显示3次。例如,行计数= 3 3 3而不是行计数= 3.
<?php
try {
$stmt = $db->prepare('SELECT banned_players.uuid, player_data.uuid FROM banned_players, player_data WHERE username = :username and banned_players.uuid >= player_data.uuid');
$stmt->execute(array(':username' => $_GET['name']));
} catch(PDOException $e){
//if an error is thrown a message will display
echo $e->getMessage();
exit();
}
?>
<?php if ($stmt->rowCount() <1 ): ?>
0
<?php else: ?>
<?php while(false !== ($row = $stmt->fetch(PDO::FETCH_ASSOC))): ?>
<?php $count = $stmt->rowCount();
echo $count; ?>
<?php endwhile; ?>
<?php endif; ?>
答案 0 :(得分:0)
您正在回显每一行的行数。因此,如果您有5行,则会获得5 5 5 5 5
<?php while(false !== ($row = $stmt->fetch(PDO::FETCH_ASSOC))): // this starts looping through each row ?>
<?php $count = $stmt->rowCount();
echo $count; // this echoes the row count for every row because of the loop ?>
<?php endwhile; ?>
如果我理解你想要什么,请删除循环。或者,如果您需要循环来回显行中的数据,请在循环之前或之后放置行计数。
Row Count: <?php echo $stmt->rowCount(); ?>
<?php while(false !== ($row = $stmt->fetch(PDO::FETCH_ASSOC))): ?>
Echo some data from $row here
<?php endwhile; ?>