ジャンクション テーブル「memberprogram」には、3 つのフィールド (Memberid Programid Option_No) が含まれています。行を更新しようとすると、更新するのではなく、新しい行が挿入されます。
私のコード:
$query_find = "SELECT * FROM memberprogram WHERE ((Memberid == $Memberid) && (Option_No == 'Option A'))";
$result_query_find = mysqli_query($dbc, $query_find);
if (mysqli_num_rows($result_query_find) == 1)
{
$query_update = "UPDATE memberprogram SET memberprogram.Programid = (SELECT programs.Programid FROM programs WHERE programs.Program_Description = '$Program_Description') WHERE ((memberprogram.Memberid == $Memberid) && (memberprogram.Option_No == 'Option A'))";
$result_query_update = mysqli_query($dbc, $query_update);
}
else {
$query_insert = "INSERT memberprogram SET memberprogram.Memberid = '$Memberid', memberprogram.Option_No = 'Option A', memberprogram.Programid = (SELECT programs.Programid FROM programs WHERE programs.Program_Description = '$Program_Description')";
$result_query_insert = mysqli_query($dbc, $query_insert);
}