PHP / MySQL未识别的索引错误

时间:2012-08-31 11:35:46

标签: php mysql

我正在进行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是空的,即使我在列表框中点击了一个名字,所以理论上它不应该是空的。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

试试这个..