PHP 导致服务器错误

PHP causes server error

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

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

添加此代码会导致服务器错误 500。如果我注释掉这两行,网站 运行s(但显然不是我想要的方式)。 这是我的 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 之外我仍然没有得到任何信息。谢谢大家

您在这一行中遗漏了 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>';

}