我已经在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)
我不知道它可能是什么。我已经尝试过编写一个具有相同目的的全新代码并得到相同的结果:空白页面一直在加载。
我不知道它是否有任何相关性,但我在代码中使用的语言是葡萄牙语。
提前致谢。
答案 0 :(得分:0)
我刚刚在新安装的EC2实例上测试了您的代码,它按预期工作。
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。
您可以在此处了解有关EC2安全组的更多信息:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html