kangjacob 2022-10-10 21:00 采纳率: 96.8%
浏览 38
已结题

为什么总是重复第一条数据?

本来想着这样的代码会将数据库里面的数据的读取并展示出来,但奇怪的是总只是返回第一条数据,是我的循环设置错误了?还请指点为感,谢谢!


<?php 
//这段代码对未通过会员认证的人进行了跳转登录页面的处理


if($_COOKIE['userRight']!= 'normalRight'){ 
    header('location:loginPage.php');
    exit();
}
require_once('dataBase.php');//create the connection to database
$userName=$_COOKIE['userName'];
$sql="SELECT * FROM result_table WHERE userName='$userName' ";
$result=$conn->query($sql);//we get all record in this step
$recordNumber=$result->num_rows;//we get the total number of the records'rows which we need
echo $recordNumber;
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>历史测评结果展示页面</title>
<style>
div{
   width: 500px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
table{
font-size: 30px;
text-align: center;
}
td{
white-space: nowrap;
}
</style>
</head>
<body>
<?phpecho$recordNumber; for($i=1;$i<=$recordNumber;$i++){ $sql="SELECT * FROM result_table WHERE userName='{$userName}' ";//用{}可以更好的表示被引用的是个变量,据说可以防止sql注入$result=$conn->query($sql);//we get all record in this step$row=$result->fetch_assoc();//we get the last record $testDate=$row['testDate']; $testTime=$row['testTime']; echo$testTime; echo<<<EOF EOF; } $conn->close(); ?>
测评人 测评时间 测评序列
$userName $testDate $testTime
</body> </html>
  • 写回答

1条回答 默认 最新

  • 冰雪青松 2022-10-11 15:28
    关注

    遍历写错了,你可以参考 https://www.runoob.com/php/php-tutorial.html 来做,但是现在不用mysql扩展来连接数据库了,而是用PDO来连接mysql数据库,PDO的预处理才是防sql注入的,sql注入其实是sql语句把命令和数据捆绑在一起的原因,别人在输入数据的时候带了私货。PDO预处理是把命令和数据分开,别人输入数据时统统把私货当数据。不要再学php的mysql扩展了,早就淘汰了。可以参考《细说php》第四版来做。

    if ($result->num_rows > 0) {
        // 输出数据
        while($row = $result->fetch_assoc()) {
            echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
        }
    } else {
        echo "0 结果";
    }
    $conn->close();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月19日
  • 已采纳回答 10月11日
  • 创建了问题 10月10日

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b