mysql_query命令使整个页面无法加载?

时间:2014-11-29 20:06:38

标签: php mysql apache amazon-web-services amazon-ec2

我已经在AWS上使用Apache,PHP,MYSQL设置了EC2网络服务器,除此之外,每个代码都在其中工作(PHP和HTML5)。我是PHP和mySQL的新手,所以答案可能非常简单。

<?php

mysql_connect('localhost', 'root', '') or die("Couldn't Connect") ;

echo 'Connected!';

        mysql_select_db('testdatabase') or die("Couldn't find database");

echo "Connected!";
?>

<!DOCTYPE html>
<html lang='pt'>
<head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>

<form method="post" action="">

Nome: <input type="text" name="nome"/><br>
Telefone <input type="text" name="telefone" /><br>
<input type="submit" value="Enviar" /><br>

</form>


<?php

        $nome =  $_POST['nome'];
        $telefone =  $_POST['telefone'];

        if(empty($nome) || empty($telefone)) {
                echo "Preencha tudo!";
        }       else {
                $sql = "INSERT INTO dados(nome,telefone) VALUES ('$nome','$telefone')";
                $result = mysql_query($sql);
                        if($result == false) {
                        die("Error".mysql_error());
                        }


                }


?>


</body>
</html>

正如您可能已经猜到的,这是一个示例代码,可以在我看过的教程中使用。有趣的是,我没有任何错误。

该页面只显示任何内容并永远保持加载状态。经过很多努力,我发现如果我只是删除了

  

$ sql =“INSERT INTO dados(nome,telefone)VALUES   ( '$诺姆', '$ telefone')“;

行,页面会显示表单和echo命令,但显然php无法正常工作。

我在mysql中使用的数据库是:

Database changed
mysql> show tables;
+-------------------------+
| Tables_in_testdatabase  |
+-------------------------+
| dados                   |
+-------------------------+
1 row in set (0.00 sec)
mysql> select * from dados;
+----+-------+------------+
| id | nome  | telefone   |
+----+-------+------------+
|  1 | Peter | 2147483647 |
+----+-------+------------+
1 row in set (0.01 sec)

我不知道它可能是什么。我已经尝试过编写一个具有相同目的的全新代码并得到相同的结果:空白页面一直在加载。

我不知道它是否有任何相关性,但我在代码中使用的语言是葡萄牙语。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我刚刚在新安装的EC2实例上测试了您的代码,它按预期工作。

enter image description here

mysql> create table dados(nome varchar(50), telefone varchar(50));
Query OK, 0 rows affected (0.00 sec)

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| dados          |
+----------------+
1 row in set (0.00 sec)

mysql> select * from dados;
+------+----------+
| nome | telefone |
+------+----------+
| test | 111      |
+------+----------+
1 row in set (0.00 sec)

mysql>

如果您在连接页面时收到空白页面,则可能与EC2安全组配置有关。

安全组允许您定义授权流入或流出实例的网络流量类型。默认情况下拒绝传入流量。

如果部署Web服务器,则必须显式授权流量到端口TCP 80。

enter image description here

您可以在此处了解有关EC2安全组的更多信息:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html