【发布时间】:2018-02-13 06:46:23
【问题描述】:
学习 PHP 和 MySQL。制作了一个简短的脚本,用于从数据库中检索内容,并将其填充到我的 html 标头中的标签中。
index.php:
<?php
$link = mysqli_connect('localhost', 'root', 'abdullah');
if (!$link) {
echo "Could not connect";
exit();
}
if (!mysqli_select_db($link, 'chitra')){
echo "Could not find database";
exit();
}
$query = 'SELECT * FROM photos;';
$result = mysqli_query($link, $query);
while ($row = mysqli_fetch_array($result)){
$categories[] = $row['category'];
}
include 'main.html';
?>
main.html:
<!DOCTYPE html>
<html>
<head>
<title>Chitra</title>
<link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
<header>
<div id="header_username">username</div>
<div id="header_cat">
<select>
<?php foreach ($categories as $category): ?>
<option><?php echo htmlspecialchars($category, ENT_QUOTES, 'UTF-8'); ?></option>
<?php endforeach; ?>
</select>
</div>
</header>
<main>
TODO
</main>
</body>
</html>
此代码最初可以正常工作。我开始在 body 上工作了一段时间,直到突然间,它开始给我返回一个空白页。我删除了我的主要内容以从头开始,但它仍然给了我相同的结果。
我在整个 PHP 文件中放置了 echo 语句,直到包含语句之前,一切都执行得很好。我检查了我的 Apache、MySQL、PHP 安装,检查了一切是否正常运行。一切都是。我无法弄清楚这个问题。
【问题讨论】:
-
什么是 HTTP 响应?你检查过你的 PHP/fcgi/apache 日志吗?有什么有趣的吗?你的数据库呢?数据还在吗?你的路径改变了吗?您的脚本是否在正确的位置寻找
main.html? -
在您的 php 脚本顶部,尝试添加:
<?php // Emable error reporting ini_set('display_errors', 1); error_reporting(E_ALL); ?>,然后重新加载页面。然后报告任何显示的错误。