Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我的页面上没有任何内容,但SQL查询和表后的标题除外_Php_Sql - Fatal编程技术网

Php 我的页面上没有任何内容,但SQL查询和表后的标题除外

Php 我的页面上没有任何内容,但SQL查询和表后的标题除外,php,sql,Php,Sql,我已经排除故障一段时间了,我真的找不到任何答案。基本上是这样的: 当我输入一个真实用户的名字时:除了标题之外,页面上没有发布任何内容 当我输入一个假用户时:在代码中找不到直接从挪威语翻译过来的用户 <?php include_once("moduler/head.php"); $user = $_GET['user']; $query1 = $con->query("SELECT * FROM players WHERE name='$user'"); echo $con->

我已经排除故障一段时间了,我真的找不到任何答案。基本上是这样的:

当我输入一个真实用户的名字时:除了标题之外,页面上没有发布任何内容 当我输入一个假用户时:在代码中找不到直接从挪威语翻译过来的用户

<?php
include_once("moduler/head.php");

$user = $_GET['user'];

$query1 = $con->query("SELECT * FROM players WHERE name='$user'");
echo $con->error;

if ($query1->num_rows == 0) {
        echo "<h1>Ingen spiller funnet med: $user.</h1>";
        return;
}

while ($row == mysqli_fetch_array($query1)) {
        $styrkeLvl = $row['styrke'];
        $beskyttelseLvl = $row['beskyttelse'];
        $bueskytingLvl = $row['bueskyting'];
        $trehuggingLvl = $row['trehugging'];
        $gruvedriftLvl = $row['gruvedrift'];
        $fiskingLvl = $row['fisking'];
        $kills = $row['kills'];
        $deaths = $row['deaths'];
        $rank = $row['rank'];
        $money = $row['money'];
        $donstatus = $row['donationstatus'];
        $lastlogin = $row['lastlogin'];
        $regtime = $row['registrationtime'];

        $rankName = getRankString($rank);
?>

<h1><?php echo $user; ?></h1>
<table class=\"userView\">
        <tbody>
                <tr><td>Brukerstatus</td>
                        <td><?php echo $rankName; ?></td>
                </tr>
                <tr><td>Donasjon status</td>
                        <td>D<?php echo $donstatus; ?></td>
                </tr>
                <tr><td>Styrke level</td>
                        <td><?php echo $styrkeLvl; ?></td>
                </tr>
                <tr><td>Beskyttelse level</td>
                        <td><?php echo $beskyttelseLvl; ?></td>
                </tr>
                <tr><td>Bueskyting level</td>
                        <td><?php echo $bueskytingLvl; ?></td>
                </tr>
                <tr><td>Trehugging level</td>
                        <td><?php echo $trehuggingLvl; ?></td>
                </tr>
                <tr><td>Fisking level</td>
                        <td><?php echo $fiskingLvl; ?></td>
                </tr>
                <tr><td>Drap</td>
                        <td><?php echo $kills; ?></td>
                </tr>
                <tr><td>Dødsfall</td>
                        <td><?php echo $deaths; ?></td>
                </tr>
                <tr><td>Sist pålogget</td>
                        <td><?php echo $lastlogin; ?></td>
                </tr>
                <tr><td>Registreringsdato</td>
                        <td><?php echo $regtime; ?></td>
                </tr>
        </tbody>
</table>
<?php
}
?>
有什么想法吗?我也试着在回声中运行整个过程,但没有结果


谢谢while循环中的所有变量仅在while循环中可用。所以你不能在表格中重复它们。因此将给您一个未定义的变量错误。这同样适用于您试图显示的其他变量

为了避免这种情况,您应该尝试全局声明变量,或者将表放入循环中

另一个问题是,由于double equal==,因此循环中的代码永远不会执行。您应该使用double equal==进行比较,使用single equal=进行赋值


因此,您必须将while$row==mysqli\u fetch\u array$query1更改为while$row=mysqli\u fetch\u array$query1

您能尝试转储您的查询吗$query1=$con->querySELECT*从name='$user'的玩家那里;var_dump$query1;请不要在查询中直接使用GET或POST或任何其他未过滤的参数,这是危险的!阅读SQL注入:我会的,但实际上没有错误。我现在做了我自己的,但这样做是为了看看它是否会给我除了它以外的任何错误:echo$kak;这是我唯一一次感谢你提醒我Marco,修正了它:好吧,我使用了var_dump,正如你所说的objectmysqli_result4 5{[current_field]=>int0[field_count]=>int30[Length]=>NULL[num_rows]=>int1[type]=>int0}谢谢大家的帮助,如果还不明显的话,我对PHP还是个新手,我对Java有一些经验,所以我还在学习阶段。这样地?顺便说一句,谢谢你的回答,更进一步了,现在它发布了表数据,但实际变量除外。是的,这样更好。那么,它解决了你的问题还是仍然存在同样的问题?如果它解决了您的问题,请接受答案,否则如果您仍然面临同样的问题,请告诉我们对不起,我应该更具体一些。--这让我走得更远,但并不能真正解决问题。我的意思是,它应该从数据库中给我正确的答案,还是我做错了什么?只是更新了答案,如果您仍然无法在表中看到您的值,请尝试在while循环中执行var_dump$行,看看它是否打印任何内容。谢谢!哦,天哪,在所有这些故障排除之后,问题是我错加了一个额外的等号。我编写了很多java代码,通常是在eclipse中,所以我习惯于每当我做lol的时候IDE都取笑我。在我问这里之前,我花了整整两个小时进行故障排除,无论如何,非常感谢!