PHP页面未加载包含SQL语句

时间:2013-11-27 10:37:45

标签: php mysql

由于某些原因,当我在其中包含以下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>

2 个答案:

答案 0 :(得分:3)

您没有正确提取数据。

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

您需要先将结果检索为数组,然后才能将结果视为数组。

答案 1 :(得分:1)

这是丑陋的代码,不受任何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 />