0

初心者の質問で申し訳ありませんが、私は最近 PHP を始めたばかりです。私は過去1時間これにこだわっています。

データベースのテーブルからプレーヤー名と位置を取得し、for each ループを使用して、配列に割り当てられたデータを抽出します。foreach ループ内には、変数を含むオプション タグがあります。

スクリプトを実行すると、選択メニューのさまざまな位置に関連するプレーヤー名が表示されることを期待しています。しかし、画像でわかるように、奇妙なエラーが発生しています。

ここに画像の説明を入力

私のコードは次のとおりです。

include 'connect.php';
$position = array("THP", "HKR", "LHP", "LK4", "LK5", "FL6", "FL7", "NR8", "SH", "FH");
var_dump($position);
$size = sizeof($position);
    for($i=0; $size > $i; $i++)
    {
        $result = mysql_query("SELECT `player_id`, `name`, `surname`, `position` 
                    FROM `player_info` 
                    WHERE `position` = '$position[$i]'") 
                    or die(mysql_error());
var_dump($position[$i]);
              while($row = mysql_fetch_array($result))
              {
                  $playername =  $row['name'];
                  $player_lastname = $row['surname'];
                  $player_position = $row['position'];    
              }
    var_dump($playername);
echo'<form name="teamselect" method="post">';
     print $position[$i];
    echo'<select name="team">';
        foreach($playername as $name)
        {   
            echo '<option value="'.$name.'">'.$name.'</option>';            
        }
        echo'</select>';
        echo'</form>';
unset($name);
    }

誰かが私を正しい方向に向けることができれば、それは大歓迎です。

事前にどうもありがとうございました

PS私のコードはSQLインジェクションに対して非常に脆弱であることを認識しています。問題について学び始めたら、問題に対処します

4

1 に答える 1