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

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;

}
于 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 に答える
0

テーブルが予約語 (desc) を使用しているか、クエリがすべてジャックされています。これを試して:

select * from table order by col desc

tableandcolをテーブル名と列名に置き換えてください。

于 2012-04-20T00:04:35.967 に答える