Thank you for your help so far, ahundiak. I was able to get the memberName and instruments into the Member table, but I am running into another problem. Since the relationship between bands and members is many-to-many, I would like to place the band IDs and member IDs into a BandMember table. Here is the code I have so far:
$memberNames = $_POST['memberName'];
$instruments = $_POST['instrument'];
$insertBand = "INSERT INTO Band SET bandName='$bandName', ".
"formedYear='$formedYear', formedTown='$formedTown', ".
"active='$active', website='$website', email='$email', ".
"description='$description', contactPhone='$contactPhone', ".
"contactEmail='$contactEmail', listInfo='$listInfo', ".
"approve='$approve'";
if (@mysql_query($insertBand)) {
echo("<p>New band added</p>");
} else {
die("<p>Error adding new band: " . mysql_error() . "</p>");
}
$bid = mysql_insert_id();
foreach($genreName as $genreValue){
$insertBandGenre = "INSERT INTO BandGenre (bid, gid) ".
"VALUES ('$bid', '$genreValue')";
$queryBandGenre = mysql_query($insertBandGenre);
if (!$queryBandGenre){
print mysql_error();
exit();
}
}
for($i = 0; $i < count($memberNames); $i++) {
$name = $memberNames[$i];
$instrument = $instruments[$i];
if (strlen($name) > 0) {
$insertMember = "INSERT INTO Member ".
"(memberName, instrument) VALUES ('$name', '$instrument')";
$queryMember = mysql_query($insertMember);
/* get number of new members to use below for BandMember process */
$memberRows = mysql_affected_rows($queryMember);
if (!$queryMember){
print mysql_error();
exit();
}
$members = mysql_query("SELECT mid FROM Member ORDER BY mid");
$numMembers = mysql_num_rows($members); // get total number of members in table
$newMembers = $numMembers - $memberRows; // get number of new members in table
// get new member IDs using $newMembers and make result set into an array
$newMembersQuery = mysql_query("SELECT mid FROM Member ".
"WHERE mid >= $newMembers ORDER BY mid");
$row = mysql_fetch_array($newMembersQuery);
$mids = $row['mid']; // get mids
// insert band ID and member IDs into BandMember table
foreach($mids as $mid){
$insertBandMember = "INSERT INTO BandMember (bid, mid) ".
"VALUES ('$bid', '$mid')";
$queryBandMember = mysql_query($insertBandMember);
if (!$queryBandMember){
print mysql_error();
exit();
}
}
}
}
The thing I'm trying to do is retrieve the member IDs that were just inserted into the Member table. I'll describe the process below. I think I'm using a roundabout way to accomplish a fairly simple task.
$memberRows is supposed to retrieve the number of rows added to the Member table in the INSERT query. Then, I run a SELECT query and store the total number of rows ($numMembers) in the Member table. I then subtract these numbers to get the number of the first Member ID that had been inserted ($newMembers). Then, I try to run a SELECT query using $newMembers to get the new Member IDs that had been inserted. This result is supposed to be stored in an array and then inserted into BandMember.