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