我试图在html页面中显示我的第一行数据库中的数据。 这是:index.html我不明白哪里出错了。
<div class="container">
<h3>Menu del giorno <?php $currentDate = date("d-m-Y"); echo $currentDate;?></h3><br/>
<?php
$con=mysqli_connect("localhost","root","root","mydb");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM menu");
while($row = mysqli_fetch_array($result)) {
echo "<p style="text-align: center;"><strong>Cucina:</strong></p><br/><br/>";
echo "<p>Primi</p><br/>";
echo "<p>" . $row['piatto1'] . "</p><br/>";
echo "<p>" . $row['piatto2'] . "</p><br/><br/>";
echo "<p>Secondo</p><br/>";
echo "<p>" . $row['secondo'] . "</p><br/>";
}
mysqli_close($con);
?>
</div>
答案 0 :(得分:2)
将文件从index.html
重命名为index.php
。
HTML文件应该只包含有效的HTML代码,其中PHP文件可以包含PHP代码语句,并由PHP二进制文件解释(例如Windows上的php.exe
)。如果将PHP代码放在HTML文件中,则不会解释此代码。因此,PHP代码要么在浏览器中以纯文本形式显示,要么 - 在更糟糕的情况下 - 将使HTML代码无效。因此可能会阻止显示您的页面。
(您可以指示您的网络服务器(例如Apache)将.html
文件视为PHP文件。但我认为这不是这种情况。)
答案 1 :(得分:0)
首先,你的扩展是错误的。正如其他用户所指出的那样,它应该标题为index.php而不是index.html。
其次,您可能没有在服务器上运行它。 PHP是服务器端,意味着代码在用户获取之前执行,这是使其安全的原因。缺点是,与浏览器本身中运行/执行的javascript等客户端事物不同,对于PHP,您需要一个实际的服务器。
如果您尚未上传(例如使用FTP)支持PHP的服务器,则必须自己制作一个。 mac的一个示例:MAMP。
这也将支持您的SQL DB。希望这有帮助!
编辑:哦,我看到一个新错误。如果在引号内有引号,则需要转义序列(“\”hello \“”)。否则PHP会认为第二个“正在结束第一个,而不是实际上在字符串中。所以你应该有,例如:echo "<p style=\"text-align: center;\"><strong>Cucina:</strong></p><br/><br/>";