0

我正在尝试使用 php 创建一个选择下拉列表。每次我尝试,我都会得到一个错误。这是我的代码:

功能:

function dropDown(){


$options="<select>"; 
$connect = mysql_connect('localhost','id','pass') or die ("couldn't   connect!").mysql_error; 

mysql_select_db('db') or die('could not connect to database!');


$sql="SELECT * FROM DESC"; 
$result=mysql_query($sql); 


while ($row=mysql_fetch_array($result)) {  ****this is line 60

$name=$row["name"]; 

$options.="<option value=\"$name\">".$name."</option>"; 
} 

$options.= "</SELECT>";
return "$options";
}

然后我就在我的代码中调用它

<?php  
 include ('includes/functions.php');
....



$list = dropDown();
echo "$list";


....
>

我得到的错误是:

警告:mysql_fetch_array():提供的参数不是第 60 行 /home/garagenj/public_html/dispatch/includes/functions.php 中的有效 MySQL 结果资源

4

4 回答 4

0

要么您的表使用保留字 (desc),要么您的查询全部被顶起。试试这个:

select * from table order by col desc

请务必将tableand替换col为您的表名和列名。

于 2012-04-20T00:04:35.967 回答
0

从 DESC 中选择 * ??????

  • 从什么表
  • 或者,如果表名是 DESC。用蜱虫逃脱它们

而且每次调用该函数时,您都没有开始新的连接。将连接部分放在其他地方

$connect = mysql_connect('localhost','id','pass') or die ("couldn't   connect!").mysql_error; 
mysql_select_db('db') or die('could not connect to database!');

function dropDown(){
    $options="<select>"; 
    $sql="SELECT * FROM `DESC`"; 
    $result=mysql_query($sql); 
    
    while ($row=mysql_fetch_array($result)) { 
    
        $name=$row["name"]; 
    
        $options.="<option value=\"$name\">".$name."</option>"; 
    } 
    
    $options.= "</SELECT>";
    return $options;

}
于 2012-04-20T00:05:41.377 回答
0

这是错误的:

$sql="SELECT * FROM DESC"; 

您忘记添加要从中选择的表名

于 2012-04-20T00:05:58.480 回答
0

如果您的表名 DESC那么这就是您的问题。这都是关于命名空间的。你甚至不能有一个名为 的字段desc,我试过了。每次都会出错

于 2012-04-20T00:08:18.410 回答