【问题标题】:Dynamic Select list using sql data使用sql数据动态选择列表
【发布时间】:2012-05-01 14:02:16
【问题描述】:

我正在尝试使用 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 结果资源

【问题讨论】:

  • 你得到什么样的错误?
  • 警告:mysql_fetch_array():提供的参数不是第 60 行 /home/garagenj/public_html/dispatch/includes/functions.php 中的有效 MySQL 结果资源

标签: php list select dynamic option


【解决方案1】:

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

【讨论】:

  • 不客气,很高兴为您提供帮助。我有一个名为 desc 的字段用于描述。在我拉出荷马辛普森之前,我也花了一些时间来追踪它...... DOH
  • 这里一样,一旦允许,我将接受您的回答。再次感谢!
【解决方案2】:

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

select * from table order by col desc

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

【讨论】:

    【解决方案3】:

    SELECT * FROM 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;
    
    }
    

    【讨论】:

      【解决方案4】:

      这是错误的:

      $sql="SELECT * FROM DESC"; 
      

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

      【讨论】:

      • 表名是DESC,不好意思,是不是sql中的保留函数?我应该改名吗?
      猜你喜欢
      • 2020-08-29
      • 2014-05-14
      • 2021-10-20
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      相关资源
      最近更新 更多