Php 在mysqli查询的表中显示数组结果

Php 在mysqli查询的表中显示数组结果,php,mysqli,Php,Mysqli,我在正确显示结果方面遇到了问题,到目前为止,我唯一能做的就是使用print_r$row获得任何类型的结果;我希望结果显示在表格行中 脚本要求用户输入一个字符的名称,然后在用户数据库中按该字符的用户名进行搜索,并查找其IP地址。然后,它会查找具有相同IP地址的所有帐户,并显示与这些用户名匹配的字符 我很抱歉,如果已经有人问过这个问题,我已经搜索了好几个小时了,我不知道我做错了什么。非常感谢您的帮助。您可以尝试下面的代码。这是我通常使用的: if (isset($_POST[ "submit" ])

我在正确显示结果方面遇到了问题,到目前为止,我唯一能做的就是使用print_r$row获得任何类型的结果;我希望结果显示在表格行中

脚本要求用户输入一个字符的名称,然后在用户数据库中按该字符的用户名进行搜索,并查找其IP地址。然后,它会查找具有相同IP地址的所有帐户,并显示与这些用户名匹配的字符


我很抱歉,如果已经有人问过这个问题,我已经搜索了好几个小时了,我不知道我做错了什么。非常感谢您的帮助。

您可以尝试下面的代码。这是我通常使用的:

if (isset($_POST[ "submit" ])) {
    $character = sanitize($_POST[ 'character' ]);
    $character = mysqli_real_escape_string($db, $character);
    $sql = "select user.ip FROM gamedata, user where gamedata.szName = '$character' and user.Name = gamedata.szAccountName";
    $result = mysqli_query($db, $sql) 
        or die('There was an error running the query ['.$db -> error.']');
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
    if (mysqli_num_rows($result) == 1) {
        $sql2 = "select gamedata.szName FROM gamedata, user where gamedata.szAccountName = user.Name and user.ip = '".$row[ 'ip' ]."' ORDER BY gamedata.szName DESC LIMIT 100";
        $result2 = $db -> query($sql2);
        while ($row = mysqli_fetch_row($result2)) {
            print_r($row);
        }
    }

您可以为所有字段添加一个表列/单元格。

我找到了问题所在

    <table>
        <thead>
            <tr>
                <td>ID</td>
                <td>Username</td>
            </tr>
        </thead>
        <tbody>
            <?php while($row = mysqli_fetch_row($result2)){?>
            <tr>
                <td><?php echo $row["id"]; ?></td>
                <td><?php echo $row["username"]; ?></td>
            </tr>
            <?php } ?>
        </tbody>
        <tfoot>
            <tr>
                <td>ID</td>
                <td>Username</td>
            </tr>
        </tfoot>
    </table>

代码的工作方式正是我所需要的。我不必担心注入,因为该站点受IP地址和双重身份验证的限制。

请停止使用基于逗号的隐式连接,并使用它,因为您的查询会受到相关攻击。甚至mysqli\u real\u escape\u字符串也反对注入。请学会使用,分享你遇到问题的代码。你在问题中分享的代码似乎就是打印结果的代码。分享你说的不显示任何结果的内容。网上有很多教程介绍如何从SQL结果生成HTML表。你不需要两个查询,您可以使用联接将它们组合到单个查询中。我希望它只回显szName字段,但每当我尝试这样做时,我都会收到通知:未定义索引:szName。您是否可以向我提供该表的副本?绝对没有理由预加。到回音线。
while ($row = mysqli_fetch_array($result2)){
echo "".$row['szName'] . "<br>";