0

联结表“memberprogram”包含三个字段(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);

}

4

1 回答 1

0

我不相信您在 phpmyadmin 中的查询功能:

试试这个查询:

SELECT * FROM memberprogram WHERE ((Memberid = $Memberid) AND (Option_No = 'Option A'));

Equal-Operator 应该是=而不是==

我建议使用AND而不是&&.

于 2013-09-17T22:54:16.777 回答