我正在处理一个PHP任务,这需要我创建一个搜索表单,用户可以使用用户输入的条件搜索数据库。在MySQL数据库中,我有一个firstName和lastName列。为了让用户更容易,我想连接到并在列表框中输入它,以便用户可以单击人名,但是现在我得到一个未定义的索引错误。我已经为解决方案进行了研究,但一直未能找到解决方案。PHP/MySQL身份不明索引错误
我正在连接到服务器和文件中其他地方的数据库。我只显示了与以下问题相关的代码。
表单代码:
<form action="search.php" method="POST">
<fieldset style="background-color:#CCC">
<p> person: <?php fullname(); ?><br>
</fieldset>
</form>
function fullname()
{
$query = 'SELECT CONCAT (firstName,\' \',lastName) FROM athlete ORDER BY lastName';
$result = mysql_query($query);
echo("<select name=\"fullnameListbox\">");
echo("<option value=\"empty\"></option>");
while($row = mysql_fetch_assoc($result))
{
foreach($row as $index=>$value)
{
echo("<option value=\"$value\"> $value </option>");
}
}
echo("</select>");
}
处理模式:
echo($_POST['fullnameListbox']);
我再说一遍,我得到一个身份不明的索引错误的错误。任何帮助表示赞赏。
我inlcluded的print_r($ _ POST),如下建议和我得到如下:
([lastNameListbox] => empty [lastNameText] => [search] => Submit)
我认为lastNameListBox是空的,即使我已经在列表框中单击一个名称,因此理论上它不应该空着。
尝试:'<选择name = 'fullnameListbox'>',为了调试发布的数据,使用'的print_r($ _ POST)' –
你在哪里实际*作*您'mysql'连接? – Fluffeh
与问题无关,但我不知道为什么当查询总是返回一列时,为什么'foreach($ row为$ index => $ value)'。使用'选择CONCAT(firstName,\'\',lastName)作为fullName'然后'$ row ['fullName']'。 – Barmar