我想在mysql数据库中查询单个字段[&#34; notice&#34;]并在SHTML页面中显示结果。查询永远不会返回多行,只返回一列。如果该行中有某些内容,那么我想显示一些文字和<br>
。如果Select语句没有返回任何内容,那么我不想显示任何内容,甚至不显示<br>
。
我将以下代码作为测试保存为PHP文件时可以正常工作。但是,如果我复制<body>
标记内的所有内容并将其插入HTML页面正文,则会显示代码的后半部分。它将IF语句中大于号的符号后面的所有内容显示为文本。同样,如果我将此代码保存为HTML或SHTML文件而不是PHP文件,我会在浏览器中显示代码的后半部分。如何包含&lt; body&gt;在HTML页面上标记?
感谢您查看此内容。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
$servername = "localhost";
$username = "myusername";
$password = "mypassword";
$dbname = "mydbname";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT notice from notification where page = 'home'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "Message is: " . $row["notice"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
</body>
</html>
答案 0 :(得分:2)
您需要使用.htaccess通过PHP解析器运行您的文件。类似于:
<FilesMatch "\.(htm|html|shtm|shtml)$">
SetHandler application/x-httpd-php5
</FilesMatch>
答案 1 :(得分:0)
PHP包括并要求声明 可以使用include或require语句将一个PHP文件的内容插入到另一个PHP文件中(在服务器执行之前)。
include和require语句是相同的,除非失败:
require将产生致命错误(E_COMPILE_ERROR)并停止脚本 include只会产生一个警告(E_WARNING),脚本将继续 因此,如果您希望继续执行并向用户显示输出,即使缺少包含文件,也请使用include语句。否则,在FrameWork,CMS或复杂的PHP应用程序编码的情况下,始终使用require语句将密钥文件包含到执行流程中。这有助于避免损害应用程序的安全性和完整性,只需在一个密钥文件意外丢失的情况下。
包含文件可以节省大量的工作。这意味着您可以为所有网页创建标准页眉,页脚或菜单文件。然后,当需要更新标头时,您只能更新标头包含文件。