我的本地计算机上有一个MySQL数据库,我正在尝试用PHP查询它。
我已写出以下HTML
/ PHP
代码。当我在Chrome中打开此HTML
文件时,会显示此内容。为什么浏览器会将此代码视为文本?
ID Project Code'; while ($row = mysqli_fetch_array($response)){ echo '' . $row[Id] . '' . $row[Project_Code] . ''; echo ''; } echo ''; } else { echo "couldn't connect do it"; echo mysqli_error($dbc); } mysqli_close($dbc); ?>
代码:
<HTML>
<body>
<?php
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'root');
DEFINE ('DB_HOST', 'my_local_ip');
DEFINE ('DB_NAME', 'my_db');
$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die("couldn't connect");
$query = "SELECT Id, Project_Code FROM database.projects";
$response = @mysqli_query($dbc, $query);
if ($response){
echo '<table>
<td>ID</TD>
<td>Project Code</TD></table>';
while ($row = mysqli_fetch_array($response)){
echo '<tr><td>' .
$row[Id] . '</td></td>' .
$row[Project_Code] . '</td></td>';
echo '</tr>';
}
echo '</table>';
} else {
echo "couldn't connect do it";
echo mysqli_error($dbc);
}
mysqli_close($dbc);
?>
</BODY>
</HTML>
答案 0 :(得分:2)
这是因为您没有使用apache/php/mysql
运行代码。
如果您正在使用像wamp这样的Windows软件包将其放在www目录中并通过localhost访问它,而不是直接在浏览器中打开它,否则浏览器会将其视为普通的html。
当你打开chrome时,我打开了它:
您应该使用localhost访问您的脚本,并确保您的wamp(或您正在使用的任何服务器包)应该正在运行。
答案 1 :(得分:1)
PHP与javascript / HTML不同,它是一种服务器端语言。它在服务器上运行,并将生成的内容输出到浏览器。
所以例如
<?php
if(empty($a)) {
echo ':)';
} else {
echo ':(';
}
?>
进入浏览器的唯一部分是:)
。
您遇到的问题是
a)您的文件是.html
。除非修改了服务器配置,否则PHP将不会这样运行
b)您的文件正在未安装PHP的本地计算机上执行。
解决方案:
a)在本地计算机上安装PHP; http://php.net/manual/en/install.php
b)移动到托管服务器(这可能更容易,因为他们将支持配置问题)
(与刻字问题无关的字母)
更具体地说,您的整个PHP代码将输出到浏览器,但
<?php
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'root');
DEFINE ('DB_HOST', 'my_local_ip');
DEFINE ('DB_NAME', 'my_db');
$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die("couldn't connect");
$query = "SELECT Id, Project_Code FROM database.projects";
$response = @mysqli_query($dbc, $query);
if ($response){
echo '<table>
在<?php
的{{1}}之前,所有内容都被视为一个元素>
。
同时学习时尽量不要使用<table>
。这可以抑制错误,而那些可能(95%的情况下)会对你有用。
答案 2 :(得分:0)
安装Apache,MySQL和PHP后
(您可以尝试其他答案中提到的XAMPP或WAMP。)
你可以测试这段代码:
(对于XAMPP,将您的代码放在xampp \ htdocs文件夹中,
像something.php这样的名字
跑步。浏览到localhost / something.php)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'password');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'database');
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die("couldn't connect");
$query = "SELECT Id, Project_Code FROM database.projects";
$response = mysqli_query($dbc, $query);
?>
<?php
if ($response){
echo '<table>
<td>ID</td>
<td>Project Code</td>';
while ($row = mysqli_fetch_array($response)){
echo '<tr>'.'<td>'.$row['Id'].'</td><td>'.$row['Project_Code'].'</td></tr>';
}
echo '</table>';
} else {
echo "couldn't connect do it";
echo mysqli_error($dbc);
}
mysqli_close($dbc);
?>
</BODY>
</HTML>