PHP导致服务器错误

时间:2016-03-08 03:55:32

标签: php html amazon-ec2 database-connection

我正在尝试使用php从数据库中动态填写下拉框。在开始我的PHP文件我有这个之前我开始我的HTML代码。

 <?php 
 include_once "queryfunction.php";
 connect(); 
 ?> 

此代码的添加导致服务器错误500.如果我注释掉这两行,网站会运行(但显然不是我想要的方式)。 这是我的queryfunction.php代码

<?php 



function connect(){


$servername = "localhost";
$username = "root";
$password = "*******";
$database = "lab4"; 
// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
mysql_select_db($database);
}

function close(){ 

mysql_close(); 
}

function query(){ 

$mydata = mysql_query("Select * from Country");
while($record = mysql_fetch_array($mydata)){

echo '<option value = "' . $record['CountryAbbreviation'] . '">' .         $['CountryAbbreviation'] . '"</option>';

}

}

?> 

是的,我确保使用正确的用户名,密码,数据库和服务器名称。 如果有帮助,我使用亚马逊即时网络服务。 我做了动作打开显示错误的PHP但我仍然得到除了服务器错误500,当页面没有运行时没有信息。谢谢你们

1 个答案:

答案 0 :(得分:1)

您错过了此行中的record,导致语法错误:

echo '<option value = "' . $record['CountryAbbreviation'] . '">' .         $['CountryAbbreviation'] . '"</option>';

应该是:

echo '<option value = "' . $record['CountryAbbreviation'] . '">' .         $record['CountryAbbreviation'] . '"</option>';

此外,您不能将MySQL函数与MySQLi函数混合使用。

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
mysqli_select_db($conn, $database);
}

function close(){ 

mysqli_close(); 
}

function query(){ 

$mydata = mysqli_query($conn, "Select * from Country");
while($record = mysqli_fetch_array($mydata)){

echo '<option value = "' . $record['CountryAbbreviation'] . '">' .         $record['CountryAbbreviation'] . '"</option>';

}