我正在尝试使用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,当页面没有运行时没有信息。谢谢你们
答案 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>';
}