Php 从SQL数据库填充下拉列表

Php 从SQL数据库填充下拉列表,php,mysql,Php,Mysql,所以我正在为一个社交网络创建一个照片库。现在我正在创建一个预上传页面。我已经设置了5个字段来输入带有适当标题的图像。然而,我的主要问题是填充下拉列表。下拉列表应包含数据库中的照片类别(照片类别),但下拉列表显示为空。对我的错误有什么建议吗 编辑:现在我通过添加category_id和category_name更改了$row中的内容,但它现在显示“解析错误:语法错误,意外的T_封装的_和_空格,第16行应为T_字符串或T_变量或T_NUM_字符串”。quesion中的行前面有两颗星 <?ph

所以我正在为一个社交网络创建一个照片库。现在我正在创建一个预上传页面。我已经设置了5个字段来输入带有适当标题的图像。然而,我的主要问题是填充下拉列表。下拉列表应包含数据库中的照片类别(照片类别),但下拉列表显示为空。对我的错误有什么建议吗

编辑:现在我通过添加category_id和category_name更改了$row中的内容,但它现在显示“解析错误:语法错误,意外的T_封装的_和_空格,第16行应为T_字符串或T_变量或T_NUM_字符串”。quesion中的行前面有两颗星

<?php
require 'configphot.inc.php';



$_photo_upload_fields='';
$count=1;

$nofields=(isset($_GET['number_of_fields']))?
(int) ($_GET['number_of_fields']):5;
$result = mysqli_query($link,"SELECT category_id, category_name FROM photo_category");


while($row=mysqli_fetch_array($result)){
$_photo_category_list .= <<<__HTML_END
**<option value="$row['category_id']">$row['category_name']**</option>n
__HTML_END;

}

mysqli_free_result($result);


while($counter<=$nofields)
{
$photo_upload_fields .= <<<__HTML_END

<tr><td>
Photo{$counter}:
<input name = "photo_filename[]" type= "file" />
</td></tr>
<tr><td>
Caption:
<textarea name ="photo_caption[]" cols = "30" rows ="1"></textarea>
</td></tr>
__HTML_END;
$counter++;
}

//End output

echo <<<__HTML_END

<html>
<head>
<title> Upload photos here</title>
</head>
<body>
<form enctype="multipart/form-data" action="upload.php" method="post" name= "upload_form">
<table width="90%" border="0" align="center" style="width: 90%;">
<tr>
<td>Select Category
<select name="category">
$photo_category_list</select></td>
</tr>

<!image fields here -->

$photo_upload_fields
<tr><td>
<input type ="submit" name="submit" value= "Add photos">
</td></tr>
</table>
</form>
</body>
</html>
__HTML_END;








?>

首先:请格式化您的代码。有些选项卡确实有助于跟踪代码

在SQL语句中,您只需选择一列:
selectcategory\u name fromphoto\u category


两行之后,您将引用两列:
$row[0]
(这是sql查询中的
类别名称)和
$row[1]
$row[1]
不存在,因此是空的(至少应该产生一个PHP通知)。

您只选择类别名称,这样数组就不会看到$row[1],请尝试将查询更改为

SELECT id_category,category_name FROM photo_category

因此,现在您将数组0更改为id_category,数组1更改为category name

我将其更改为“$result=mysqli_query($link,'SELECT category_id,category_name FROM photo_category');”但是不幸的是,仍然没有出现任何问题。我按照您所说的做了,并且使用行名$row['id_category'],$row['category_name']刚刚根据你的建议发布了一个重新编辑的版本。请参见上面的新错误