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

时间:2018-10-04 20:00:46

标签: php mysqli

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);
        }
    }

我无法正确显示结果,到目前为止,我唯一能获得任何类型结果的方法是使用print_r($ row);。我希望结果显示在表格行中。

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

对不起,如果已经有人问过我,我已经搜索了几个小时,而我不知道自己在做什么错。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

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

    <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>

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

答案 1 :(得分:0)

我弄清楚了我的问题所在

while ($row = mysqli_fetch_array($result2)){
echo "".$row['szName'] . "<br>";

代码完全按照我的需要工作。我不必担心注入,因为此站点受IP地址和双重身份验证的限制。

相关问题