简单的PHP问题,I';我肯定

简单的PHP问题,I';我肯定,php,mysql,apache,ubuntu,Php,Mysql,Apache,Ubuntu,我刚刚安装了一个新的Ubuntu 12.04 LTS 64位服务器,为Apache选择了它附带的任何软件包。我正在尝试在浏览器中打开此index.html文件: <html><body><h1>Testing Database</h1> <?php $con=mysql_connect("localhost","****","****"); if(!$con) {die('Could not connect: ' . mysql_erro

我刚刚安装了一个新的Ubuntu 12.04 LTS 64位服务器,为Apache选择了它附带的任何软件包。我正在尝试在浏览器中打开此index.html文件:

<html><body><h1>Testing Database</h1>

<?php

$con=mysql_connect("localhost","****","****");
if(!$con) {die('Could not connect: ' . mysql_error());

mysql_select_db("Test", $con);
$result=mysql_query("SELECT * FROM main");
while($row=mysql_fetch_array($result))
{
   echo $row['id'] . " " . $row['name'];
   echo "<br />";
}

mysql_close($con);
?>

</body></html>
我正在学习教程,我的设置有问题吗?我觉得在这一小块代码中缺少了某种括号,但找不到它。

if(!$con) {die('Could not connect: ' . mysql_error());
行中缺少结束符“}”

if(!$con) {die('Could not connect: ' . mysql_error());

缺少结束“}”

您没有安装PHP,或者您没有调用PHP的服务器


您看到所看到内容的原因是,从
到所有内容,您都没有安装PHP,或者您没有调用PHP的服务器


您看到所看到内容的原因是,从
开始,您在下一行末尾缺少一个
}

if(!$con) {die('Could not connect: ' . mysql_error());}

下一行末尾缺少一个
}

if(!$con) {die('Could not connect: ' . mysql_error());}
index.html

.html
页面不会作为PHP解析,您需要使用
.PHP
扩展名,或者使用一些htaccess强制它通过PHP解析器

除此之外,您的文件中存在语法错误,请更改为:

<html><body><h1>Testing Database</h1>

<?php

$con=mysql_connect("localhost","****","****");
if(!$con) die('Could not connect: ' . mysql_error());

mysql_select_db("Test", $con);
$result=mysql_query("SELECT * FROM main");
while($row=mysql_fetch_array($result))
{
   echo $row['id'] . " " . $row['name'];
   echo "<br />";
}

mysql_close($con);
?>

</body></html>
index.html

.html
页面不会作为PHP解析,您需要使用
.PHP
扩展名,或者使用一些htaccess强制它通过PHP解析器

除此之外,您的文件中存在语法错误,请更改为:

<html><body><h1>Testing Database</h1>

<?php

$con=mysql_connect("localhost","****","****");
if(!$con) die('Could not connect: ' . mysql_error());

mysql_select_db("Test", $con);
$result=mysql_query("SELECT * FROM main");
while($row=mysql_fetch_array($result))
{
   echo $row['id'] . " " . $row['name'];
   echo "<br />";
}

mysql_close($con);
?>

</body></html>



您的服务器是否设置为将
.html
文件扩展名解释为PHP文件?尝试将扩展名更改为
.php
?清除浏览器缓存,然后重试。@z-问题是该文件名为phpinfo.php。@vee我确实这么做了,但我想stackoverflow.com已经解析了吗?奇怪的不管怎样,它跑了fine@armani:下次,在web浏览器中选择“查看源代码”,您会立即注意到所有PHP代码都会显示:这意味着文件中不会执行任何内容。您的服务器是否已设置为将
.html
文件扩展名解释为PHP文件?尝试将扩展名更改为
.php
?清除浏览器缓存,然后重试。@z-问题是该文件名为phpinfo.php。@vee我确实这么做了,但我想stackoverflow.com已经解析了吗?奇怪的不管怎样,它跑了fine@armani:下一次,在web浏览器中选择“查看源代码”,您会立即注意到所有PHP代码都会显示:这意味着文件中不会执行任何内容。如果出现此问题,则会出现大量解析错误,或者根本不会执行任何操作。已修复此问题,但不会更改任何内容。对。当PHP在OP的服务器上工作时,这就是问题所在。无论如何,他说“我制作了一个phpinfo.php文件(包含)运行得很好”的事实是误导性的。@armani-我希望不是你否决了这个(和MiDo的)?它们是正确的,即使它们不是您想要的答案。是的,代码中存在语法错误,但主要错误是服务器未配置为在.html文件中执行PHP。如果是这样的问题,则会出现大量的解析错误,或者根本没有任何错误。修复了该问题,但没有改变任何内容。对。当PHP在OP的服务器上工作时,这就是问题所在。无论如何,他说“我制作了一个phpinfo.php文件(包含)运行得很好”的事实是误导性的。@armani-我希望不是你否决了这个(和MiDo的)?它们是正确的,即使它们不是您想要的答案。是的,代码中有语法错误,但主要错误是服务器未配置为在.html文件中执行PHP。如果这是问题,则会出现大量解析错误,或者什么都没有。@Kolink但事实仍然是,那一行缺少一个右括号。我只能希望这是复制中的一个错误。如果这是问题所在,那么将出现一个巨大的分析错误,或者什么都没有。@Kolink但事实仍然是,那一行缺少一个右括号。我只能希望这是copy.OP提到phpinfo.php运行良好时的一个错误。如果php“运行良好”,为什么不解析它?这句话说“或者您没有调用php的服务器”。这就解释了为什么PHP源代码在浏览器中可见。@Kolink因为
.html
文件不被解析为PHPscript@Alexander:错了。如果需要,您可以设置web服务器来解析.htm.html和.jpg文件(或您选择的任何其他扩展名)中的PHP代码。OP提到phpinfo.PHP运行良好。如果PHP“运行良好”,为什么不进行解析?这句话说“或者您没有调用PHP的服务器”。这就解释了为什么PHP源代码在浏览器中可见。@Kolink因为
.html
文件不被解析为PHPscript@Alexander:错了。如果需要,您可以设置web服务器来解析.htm.html和.jpg文件(或您选择的任何其他扩展名)中的PHP代码。OP还可以修改httpd.conf以处理带有PHP标记的.html页面。不用担心,我相信大多数开发人员在学习时也会犯类似的愚蠢错误……我知道我犯了@马特:我在一个测试服务器上,如果可以的话,我希望我的代码在不修改配置的情况下尽可能可移植。但是很高兴知道!OP还可以修改httpd.conf以处理带有php标记的.html页面。不必担心,我相信大多数开发人员在学习时也会犯类似的愚蠢错误……我知道我犯了@马特:我在一个测试服务器上,如果可以的话,我希望我的代码在不修改配置的情况下尽可能可移植。但是很高兴知道!