【发布时间】:2017-03-24 19:32:52
【问题描述】:
目前,我正在尝试在 Amazon Web Services 上添加一个网页。该网页包含 PHP 和 HTML 代码,旨在显示本地 MySQL 数据库中的特定表。我已经创建了一个 EC2 实例和一个 AWS RDS 实例,但是,有一个问题一直在发生,这让我很困扰。通过 MySQL 在我的计算机本地主机上,显示一个表的所有记录的代码是这样的:
SELECT * from Students, StudentProfile, Job
WHERE Students.StudentID=StudentProfile.Students_StudentID and Students.StudentID=Job.Students_StudentID;
根据上面的代码,这可以完美地执行,我确实通过在 MySQL Workbench 上执行相同的过程来确认这一点。但是,将我的名为“projectview.php”的文件(用于查看表的所有记录的 .php 文件)上传到 AWS 后,它不起作用。我知道我知道我必须更改部分代码才能将其连接到 AWS 的 RDS 实例。因此,我按照教程示例创建了基于 AWS 教程的示例页面。下面包含一个示例 .php 文件,其中包含我当前为网站显示的工作。
<HTML>
<HEAD>
<TITLE>List Students</title>
<link href="https://fonts.googleapis.com/css?family=Varela+Round" rel="stylesheet">
<style>
body {font-family: 'Varela Round', sans-serif;
background-color: #ffddcc;
color: #e64d00;
border: 2px solid #ff7733;
border-radius: 10px;
}
h1 {font-family: Georgia, serif;}
input {color:#e64d00;}
</style>
</head>
<BODY>
<H1>List Students</h1>
<?php include '../inc/dbinfo.inc';
$conn = @mysqli_connect("DB_SERVER","DB_USERNAME","DB_PASSWORD","DB_DATABASE" );
if($conn->connect_error) {
die("Connection failed:" . $conn->connect_error);
}
else
{
echo "Status:Connected.";
echo "<br>";
}
$sql = "SELECT * from Students, StudentProfile, Job
where Students.StudentID=StudentProfile.Students_StudentID and Students.StudentID=Job.Students_StudentID";
mysql_select_db("project2");
$result = mysqli_query($conn, $sql);
if(!$result) {
die('Could not get data: ' .mysql_error());
}
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "<br>";
echo "StudentID: " . $row["studentID"]. "<br>";
echo "First Name: " . $row["firstName"]. "<br>";
echo "Last Name: " . $row["lastName"]. "<br>";
echo "Major: " . $row["Major"]. "<br>";
echo "Level: " . $row["Level"]. "<br>";
echo "Address: " . $row["Address"]. "<br>";
echo "City: " . $row["City"]. "<br>";
echo "Country: " . $row["Country"]. "<br>";
echo "Zipcode: " . $row["Zipcode"]. "<br>";
echo "Phone: " . $row["Phone"]. "<br>";
echo "Job Company: " . $row["Job_Company"]. "<br>";
echo "Job Title: " . $row["Job_Title"]. "<br>";
}
echo "Fetched data successfully\n";
//$result = $conn->query($query);
$conn->close();
?>
<br>
<FORM METHOD="LINK" ACTION="project2mainmenu.html">
<INPUT TYPE="submit" VALUE="Return to Main Menu">
</form>
</body>
</html>
此外,我注意到当我在运行代码后查看我的网页时,它会显示如下图像:
****注意:我已经上传了特定网页的所有相关文件。此外,此网页不隶属于任何其他文件。它是一个独立的文件。**
【问题讨论】:
-
您正在混合 mysql_*() 和 mysqlI_*() 函数调用。它们属于两个不同的 API。使用 mysqli :)
-
我明白了。好吧,事实证明我将mysql语句更改为mysqli并且它可以工作。但是,仍然存在我编写的查询没有执行的问题。我想知道它是否与连接有关。
标签: php mysql amazon-web-services amazon-ec2 amazon-rds