Php 下拉字段将不会填充

Php 下拉字段将不会填充,php,drop-down-menu,Php,Drop Down Menu,长时间侦听器,第一次调用 我试图从其他张贴的例子中学习,但它似乎不适合我。 使用我找到的示例,我试图创建一个4层级联下拉菜单。我的问题是菜单无法填充。我收到以下错误: PHP警告:mysql_fetch_array()希望参数1是resource,布尔值在第36行的/home/mstarks/public_html/TEST/STUFF/ddmenu.PHP中给出 PHP警告:mysql_fetch_array()希望参数1是resource,布尔值在第44行的/home/mstarks/pub

长时间侦听器,第一次调用

我试图从其他张贴的例子中学习,但它似乎不适合我。 使用我找到的示例,我试图创建一个4层级联下拉菜单。我的问题是菜单无法填充。我收到以下错误:

PHP警告:mysql_fetch_array()希望参数1是resource,布尔值在第36行的/home/mstarks/public_html/TEST/STUFF/ddmenu.PHP中给出

PHP警告:mysql_fetch_array()希望参数1是resource,布尔值在第44行的/home/mstarks/public_html/TEST/STUFF/ddmenu.PHP中给出

使用PhPAdmin,所有查询都可以正常运行

代码如下:

<script language=JavaScript>
function reload(form)
    {
        var selected_value=form.man.options[form.man.options.selectedIndex].value;
        self.location='ddmenu.php?man=' + selected_value ;   
    }
</script>

<?php
@$man=$HTTP_GET_VARS['man'];
if(strlen($man) > 0 and !is_numeric($man))
    { 
        echo "INVALID DATA.";
        exit;
    }
 
$divisions_query=mysql_query("SELECT DISTINCT division, division_id FROM employees_division ORDER BY division_id"); 
 
if(isset($man) and strlen($man) > 0)
    {
        $bureaus_query=mysql_query("SELECT DISTINCT bureau FROM employees_bureau WHERE division_id=$man ORDER BY bureau_id"); 
    }
        else
    {
        $bureaus_query=mysql_query("SELECT DISTINCT bureau FROM employees_bureau ORDER BY bureau_id");
    } 
 
echo "<form method=post name=f1 action='ddmenu2.php'>";

echo "<select name='man' onchange=\"reload(this.form)\"><option value=''>Select Division</option>";
while($qresult_divisions=mysql_fetch_array($divisions_query)) 
    { 
        if($qresult_divisions['division_id']==@$man){echo "<option selected value='$qresult_divisions[division_id]'>$qresult_divisions[division]</option>"."<BR>";}
        else{echo  "<option value='$qresult_divisions[division_id]'>$qresult_divisions[division]</option>";}
    }
echo "</select>";

echo "<select name='mod'><option value=''>Select Bureau</option>";
while($qresult_bureaus=mysql_fetch_array($bureaus_query)) 
    { 
        echo  "<option value='$qresult_bureaus[bureau]'>$qresult_bureaus[bureau]</option>";
    }
echo "</select>";

echo "<input type=submit value=Submit>";
echo "</form>";
?>

函数重载(表单)
{
var selected_value=form.man.options[form.man.options.selectedIndex].value;
self.location='ddmenu.php?man='+所选值;
}

mysql\u查询
失败并返回FALSE。这将导致
$divisions\u查询
变量设置为
FALSE
,而不是预期的数组。您得到的错误是因为
mysql\u fetch\u array()
需要一个数组,而不是
FALSE
。尝试使用这样的check语句

<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}
?>

有关更多信息,请访问:


祝你好运

什么是
36
44
?你真的应该切换到
mysqli
,mysql已经过时了,你连接到mysql数据库了吗?正如上面所说的,看看MySQL,因为MySQL现在已经被弃用了。这些错误意味着DB没有返回结果,因此函数不能正常工作。运行
SELECT
查询后,您应该
echo
MySQL错误消息的内容,以帮助您找出没有得到结果的原因。此外,考虑使用MySqL**批函数。按@ CRACRTETAST,SELECT查询不返回任何内容。首先在数据库中运行相同的查询并更正它。然后继续这个代码。或者尝试使用mysql\u query($query)或die(mysql\u error())