php - 如何修复特定的PHP白屏错误

原文 标签 php html mysql while-loop

我知道有很多关于调试PHP的信息,但是我似乎无法弄清楚为什么这段代码不起作用:

<?php
ini_set('display_errors',1); 
error_reporting(E_ALL);

// CONNECT TO MYSQL
$con = mysqli_connect("127.0.0.1","root","MySQLrootpass","cards");
if (mysqli_connect_errno()){
    echo "<div style='text-align: center;'>";
    echo "<h1>Could not connect to server, please try again later.</h1>";
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    echo "</div>";
}

$data = mysqli_query($con,"SELECT * FROM cards");
while($row = mysqli_fetch_array($data)){ ?>
    <div id="card<?php echo $row["id"]; ?>" class="cardPost" style="background-image: url('Sprites/card.png');" onClick="sideData('card','<?php echo $row["id"]; ?>')">
        <span class="cardTitle"><?php echo $row["name"]; ?></span>
        <div class="elements">
            <img class="elmPic" src="Sprites/elms/<?php echo $row["element"]; ?>Elm.png">
        </div>
    </div>
<?php}

// DISCONNECT FORM MYSQL
mysqli_close($con);
?>


我是整个PHP显示错误的新手,所以我不知道为什么不显示错误。

通过语法检查器运行它之后,它说在while循环末尾的}是意外的,我不明白为什么,因为直到我将id和onClick属性添加到<div>之前,这段代码都能正常工作。
现在,当我删除它们时,它仍然不起作用。

另外,我知道这是while循环,因为当我对其进行注释时,一切都很好。
我在页面上也有另一个类似的东西(带有id和onClick),效果很好。

还有一件事,当我在第二个while循环中删除分号(开始时是隐藏的)时,所有命令仍然运行良好。

我知道这是一个非常具体的情况,但是任何帮助将不胜感激。

最佳答案

我是整个php显示错误的新手,所以我不知道为什么不显示


ini_seterror_reporting是函数:与其他任何函数一样,它们在脚本运行时执行。如果您的脚本有解析错误,则它将永远不会运行,因此您的函数将没有机会做任何事情。

您可以改为在php.ini文件中更改这些设置,这将使它们在脚本执行之前生效(然后您将可以看到错误消息)。

display_errors = on
error_reporting = E_ALL



  通过语法检查器运行它后,它说while循环末尾的}是意外的,我不明白为什么


<?php}之间应该有空格。

关于php - 如何修复特定的PHP白屏错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21947044/

相关文章:

php - 如何在mysql中显示段落?

php - 可以防止MySQL在'UNCOMPRESS'之后重命名 key 吗?

php - 使用CSS在PHP中图像上方的文本问题

html - 文本不在具有较低z-index的元素上绘制

javascript - 如何在Angular JS中添加图像

mysql - SQL查询以查找唯一计数

php - 重复插入多个

mysql - Laravel eloquent 获取数据库列中最常见的值

php - 日期范围不返回结果的MySQL查询

javascript - 如何使用 jquery 在 Django 中提供图像