由于某些原因,当我的页面中有以下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 />