0

次のコードを使用して、データベースに最初の行のみを取得しています。多くの例を見ましたが、どこが間違っているのかまだわかりません。

// one box for each //

<input class="bginput" name="album_name[]" size="30" type="text">

<imput type="submit" Value="submit">



<?PHP
foreach($_POST['artist_id'] as $row=>$val) {
$artist_id      = mysql_real_escape_string($val);
$album_name     = mysql_real_escape_string($_POST['album_name'][$row]);
$image_album_id = mysql_real_escape_string($_POST['image_album_id'][$row]);
$track          = mysql_real_escape_string($_POST['track'][$row]);
$song_name      = mysql_real_escape_string($_POST['song_name'][$row]);
$duration       = mysql_real_escape_string($_POST['duration'][$row]);


$sql = mysql_query("INSERT INTO songs (`image_album_id`, `member_id`, `artist_id`,      `album_name`, `track`, `song_name`, `duration`, `timestamp`)
VALUES ('$image_album_id', '".$_SESSION['member_id']."','$artist_id','$album_name', '$track', '$song_name', '$duration', UNIX_TIMESTAMP() )") or die(mysql_error());

header ('Location: song_details_add.php?success');
exit();
?>

ありがとう。

4

3 に答える 3

1

foreach ループを閉じるのを忘れているようです:

foreach($_POST['artist_id'] as $row=>$val) {
    $artist_id      = mysql_real_escape_string($val);
    $album_name     = mysql_real_escape_string($_POST['album_name'][$row]);
    $image_album_id = mysql_real_escape_string($_POST['image_album_id'][$row]);
    $track          = mysql_real_escape_string($_POST['track'][$row]);
    $song_name      = mysql_real_escape_string($_POST['song_name'][$row]);
    $duration       = mysql_real_escape_string($_POST['duration'][$row]);


    $sql = mysql_query("INSERT INTO songs (`image_album_id`, `member_id`,`artist_id`,      `album_name`, `track`, `song_name`, `duration`, `timestamp`)
    VALUES ('$image_album_id', '".$_SESSION['member_id']."','$artist_id','$album_name', '$track', '$song_name', '$duration', UNIX_TIMESTAMP() )") or die(mysql_error());
} <---- missing
于 2013-01-25T03:45:58.553 に答える
0

foreach右中括弧}が欠落しているようです。ただし、構文エラーが発生するはずです。}あなたが言ったように、1行挿入すると、リダイレクト後に閉じているような気がします。

これを試して

<?PHP
foreach($_POST['artist_id'] as $row=>$val) {
  $artist_id      = mysql_real_escape_string($val);
  $album_name     = mysql_real_escape_string($_POST['album_name'][$row]);
  $image_album_id = mysql_real_escape_string($_POST['image_album_id'][$row]);
  $track          = mysql_real_escape_string($_POST['track'][$row]);
  $song_name      = mysql_real_escape_string($_POST['song_name'][$row]);
  $duration       = mysql_real_escape_string($_POST['duration'][$row]);


  $sql = mysql_query("INSERT INTO songs (`image_album_id`, `member_id`, `artist_id`,      `album_name`, `track`, `song_name`, `duration`, `timestamp`)
  VALUES ('$image_album_id', '".$_SESSION['member_id']."','$artist_id','$album_name', '$track', '$song_name', '$duration', UNIX_TIMESTAMP() )") or die(mysql_error());

}

header ('Location: song_details_add.php?success');
exit();
?>
于 2013-01-25T03:47:16.493 に答える
0

foreach ループを閉じていません}

于 2013-01-25T03:44:59.867 に答える