我有一个工作的PHP代码,它只是连接数据库列表数据并关闭它。 我将这个工作的PHP代码嵌入到我的html中,但它不解析其余的html。列出数据库和php关闭标签“?>”后的数据很简单。我试图摆脱“$ db-> disconnect();”在PHP中,现在它的工作原理。
你知道为什么吗? 我真的需要使用$ db-> disconnect();每一次?
由于
beginning of the html code
<ul>
<?php
$db = new mysqli('localhost', 'root', 'root', 'troy');
if (mysqli_connect_errno()) {
printf("Can't connect to MySQL Server. Errorcode: %s\n", mysqli_connect_error());
exit;
}
$query = "SELECT * FROM platters";
$result = $db->query($query);
while($row = mysqli_fetch_array($result)) {
echo "<li>" . $row['name'] . "</li>";
}
$db->disconnect();
?>
</ul>
rest of the html code
答案 0 :(得分:1)
$db->disconnect();
未在文档中列出,这是您创建的自定义函数吗?
而不是断开整个数据库连接,您应该只执行:
$result->close();
这将释放当前查询,并使您能够在整个PHP脚本中执行进一步的连接。
如果您已完成该脚本的SQL连接,则仅完全关闭与数据库的连接
修改强>
重新阅读您的问题后,$db->disconnect();
不是MySQli的功能。请参阅此处的整个文档:
http://php.net/manual/en/book.mysqli.php
您应该使用:
$db->close();
关闭当前与数据库的连接(如果在数据库变量中使用)
答案 1 :(得分:1)
在命令行上运行
php test.php
并查看错误消息
PHP致命错误:在第28行的test.php中调用未定义的方法mysqli :: disconnect()
这就是为什么它输出数据库中的所有内容,但省略了该行之后的所有内容。
当你删除$db->disconnect();
语句时,错误就消失了,PHP脚本可以一直运行到最后。