我正在尝试使用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结果资源
答案 0 :(得分:0)
您的桌子使用的是保留字(desc),或者您的查询全部被抬起。试试这个:
select * from table order by col desc
请务必将table
和col
替换为您的表名和列名。
答案 1 :(得分:0)
每次调用该函数时,您都没有启动新连接。将您的连接部分放在其他地方
$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;
}
答案 2 :(得分:0)
这是错误的:
$sql="SELECT * FROM DESC";
您忘记添加表名以从
中选择答案 3 :(得分:0)
如果您的表名 DESC
,那么这就是您的问题。这完全取决于命名空间。您甚至无法使用名为desc
的字段,我已经尝试过了。它每次都出错