0

serialnr を存在しないものに変更しないとフィールドを更新できないことに気付くまで、このコードを書きました。

if (isset($_POST['update']))
{
    $errormsg = "";
    $errorcontrol = "
                SELECT serialnr
                FROM item
                WHERE serialnr='$_POST[serialnr]'
                ";
    $result=mysql_query($errorcontrol);
    if (mysql_num_rows($result) == 1)
    {
        $errormsg= "<p id='notification'>Duplicate entry set.</p>";
    }
    else
    {
        $UpdateQuery = "
                    UPDATE item SET 
                    itembrand='$_POST[itembrand]', serialnr='$_POST[serialnr]', itemname='$_POST[itemname]', itemgroupid='$_POST[itemgroupid]', addinfo='$_POST[addinfo]'
                    WHERE itemid='$_POST[itemid]'
                    ";
        mysql_query ($UpdateQuery)  ;
    }
}

このコードを「ADD NEW」セクションに使用すると、問題なく機能します。既に存在する場合は追加しないでください。

しかし、serialnr が既に存在する場合、どうすれば更新できますか?

4

1 に答える 1

0

以下の行の構文は、$_POSTキーの引用符が抜けている必要があります。

 1.    $errorcontrol = "
            SELECT serialnr
            FROM item
            WHERE serialnr='$_POST['serialnr']'
            ";



2.     $UpdateQuery = "
                UPDATE item SET 
                itembrand='$_POST['itembrand']', serialnr='$_POST'[serialnr']', itemname='$_POST[itemname]', itemgroupid='$_POST['itemgroupid']', addinfo='$_POST['addinfo']'
                WHERE itemid='$_POST['itemid']'
于 2012-10-22T14:29:04.140 に答える