未加载包含SQL语句的PHP页面


PHP page not loading with SQL statement included

由于某些原因,当我的页面中有以下php代码时,它不会加载……但当我在编辑器中验证SQL stmt时,它会返回良好的结果(1行)。我试过用F12 Chrome进行调试,但控制台除了显示一些CSS内容外,没有显示任何错误。我真的不知道如何进一步使用它。

有什么初步想法吗?

页码:http://www.runic-paradise.com/editinfo.php

当页面存在时杀死页面的代码:

// GET NEWS FROM DB
$result = $mysqli->query("SELECT Content, Reference FROM site WHERE Reference='Rules'");

周围代码:

        <form id="newsform" name="newsform" action="editinfo.php?step=2" method="post" enctype="multipart/form-data">
        <h4>Server Rules</h4>
        <textarea class="editor" rows="4" style="width:50%;" name="Content" id="postbody">
<?php
 //UPDATE DB IF NECESSARY
if($_GET['step'] == 2) {
    $mysqli->query("UPDATE site SET Content='$_POST[Content]' WHERE Reference='Rules'");
}
// GET NEWS FROM DB
$result = $mysqli->query("SELECT Content, Reference FROM site WHERE Reference='Rules'");
var_dump($mysqli->error);
echo $result['Content'];
$mysqli->close();
?>
        </textarea>
        <!-- hidden inputs -->
        <input type="hidden" id="x" name="x" />
        <input type="hidden" id="y" name="y" />
        <input type="hidden" id="w" name="w" />
        <input type="hidden" id="h" name="h" />
        <input type="hidden" name="step" value="2">
        <br><br>
        <input type="submit">
        </form>

您提取的数据不正确。

$result = $mysqli->query("SELECT Content, Reference FROM site WHERE Reference='Rules'");
$result = $result->fetch_assoc(); // <-- here
echo $result['Content'];

在将结果视为数组之前,需要将结果检索为数组。

这是一个丑陋的代码,没有受到任何SQL注入的保护。不要将用户输入数据直接传递给SQL。

可能出现错误:

<b>Fatal error</b>:  Cannot use object of type mysqli_result as array in <b>/home/content/60/11957760/html/runicparadise/editinfo.php</b> on line <b>117</b><br />