$player_ids を含む配列があります。配列は、ユーザーが自分のチームを選択するために使用する形式で取得されました。次に、$player_ids 配列を使用してデータベースにクエリを実行します。そのような:
if ( isset($_POST['submit']) ) {
$player_ids = array_map('intval', $_REQUEST['players']);
var_dump($player_ids);
$query = 'SELECT `name`
FROM `player_info`
WHERE `player_id` IN (' . implode(',', $player_ids) . ')';
$return_names = mysql_query($query) or die(mysql_error());
while ( $row = mysql_fetch_assoc($return_names) ) {
$selected[] = $row['name'];
}
var_dump($selected);
上記のコードは機能しており、ブラウザで開くと、この出力が得られます
ここで、配列 $selected (選択されたプレーヤーの名前を含む) から値を抽出し、それをデータベースにアップロードしたいと考えています。私は次のようにこれをやろうとします:
foreach ($selected as $player){
$sql = mysql_query('INSERT INTO `team`(`player_name`) VALUES ("$player")')
or die(mysql_error());
print ($player);
echo'<br>';
` }
上記のコードに問題があると思われます。上記のコードを実行すると、データベースには配列名自体のみが含まれ、配列の実際の値は含まれません。次の図のように:
配列の値ではなく配列名がデータベースに保存される理由について、誰かが私を正しい方向に向けることができれば、それは大歓迎です。
前もって感謝します。