0

我正在处理一个 PHP 任务,该任务要求我创建一个搜索表单,该表单使用用户输入的条件搜索数据库。在 MySQL 数据库中,我有一个 firstName 和 lastName 列。为了让用户更容易,我想连接到并将其输入到列表框中,以便用户可以单击人名,但是我现在收到未定义的索引错误。我已经研究了解决方案,但一直找不到。

我正在连接到文件中其他位置的服务器和数据库。我只显示了与以下问题相关的代码。

表格代码:

<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']);

我重复这个错误,我得到一个未识别的索引错误。任何帮助表示赞赏。

我按照下面的建议包含了 print_r($_POST) ,我得到以下信息:

( [lastNameListbox] => empty [lastNameText] => [search] => Submit )

我认为 lastNameListBox 是空的,即使我在列表框中单击了一个名称,所以理论上它不应该为空。

4

2 回答 2

1

未识别索引通知是与尝试访问尚未初始化的数组索引有关的 PHP通知。

$_GET['some_key_name']++; // will result in such a notice
                          // if the array key was never initialised

if(isset($_GET['some_key_name'])) // will not result in such a notice
    $_GET['some_key_name']++;     // will not result in such a notice
else
    $_GET['some_key_name'] = 1;   // will not result in such a notice
于 2012-08-31T12:05:44.650 回答
0

您好,首先您必须连接数据库,然后才能执行查询。

<?php
   $con = mysql_connect("localhost","peter","abc123");
   if (!$con)
   {
       die('Could not connect: ' . mysql_error());
   }
 // some code
 mysql_close($con);
 ?>

尝试这个..

于 2012-08-31T11:42:14.560 回答