sql >> データベース >  >> RDS >> Mysql

空でない場合は、重複するテキストフィールドからデータベースに挿入しますphp sql

    まず、Author_ID2が定義されていない時点で、変数を定義する方法は次のとおりです。

    $AuthorTitle = mysqli_real_escape_string($con, ($_POST['AuthorTitle']));
    $AuthorTitle = mysqli_real_escape_string($con, ($_POST['AuthorTitle_ID2']));
    

    ここでは、$AuthorTitleをオーバーライドするだけです。 $_POST['AuthorTitle_ID2']の値を使用 、および$AuthorTitle_ID2を定義しないでください まったく。

    次に、SQLステートメントは、2番目のauthorのみをリンクします。 studycasestudyLAST_INSERT_ID()のため 1つのステートメントによって実際に複数のレコードが挿入された場合でも、最後に挿入されたレコードのIDを返します。

    そして最後に、MySQLのIFステートメント があります。 :

    $AuthorTitle       = mysqli_real_escape_string($con, ($_POST['AuthorTitle']));
    $AuthorTitle_ID2   = mysqli_real_escape_string($con, ($_POST['AuthorTitle_ID2']));
    $F_Name            = mysqli_real_escape_string($con, ($_POST['first_name']));
    $F_Name_ID2        = mysqli_real_escape_string($con, ($_POST['first_name_ID2']));
    $L_Name            = mysqli_real_escape_string($con, ($_POST['last_name']));
    $L_Name_ID2        = mysqli_real_escape_string($con, ($_POST['last_name_ID2']));
    $Email             = mysqli_real_escape_string($con, ($_POST['email']));
    $Email_ID2         = mysqli_real_escape_string($con, ($_POST['email_ID2']));
    $Contactauthor     = mysqli_real_escape_string($con, ($_POST['contact']));
    $Contactauthor_ID2 = mysqli_real_escape_string($con, ($_POST['contact_ID2']));
    $Title             = mysqli_real_escape_string($con, ($_POST['Title']));
    $Summary           = mysqli_real_escape_string($con, ($_POST['Summary']));
    
    mysqli_multi_query($con,"
    START TRANSACTION;
        INSERT INTO study(Title, Summary)
        VALUES('$Title','$Summary');
        SET @StudyId = LAST_INSERT_ID();
    
        INSERT INTO author(AuthorTitle, F_Name, L_Name, Email, Contact)
        VALUES('$AuthorTitle','$F_Name','$L_Name','$Email','$Contactauthor');
        SET @AuthorId = LAST_INSERT_ID();
    
        INSERT INTO casestudy(AuthorId, StudyId, Submitted)
        VALUES(@AuthorId, @StudyId, NOW());
    
        IF ('$AuthorTitle_ID2' <> '' OR '$F_Name_ID2' <> '' OR '$L_Name_ID2' <> '' OR '$Email_ID2' <> '' OR '$Contactauthor_ID2' <> '') THEN
            INSERT INTO author(AuthorTitle, F_Name, L_Name, Email, Contact)
            VALUES('$AuthorTitle_ID2','$F_Name_ID2','$L_Name_ID2','$Email_ID2','$Contactauthor_ID2');
            SET @AuthorId = LAST_INSERT_ID();
    
            INSERT INTO casestudy(AuthorId, StudyId, Submitted)
            VALUES(@AuthorId, @StudyId, NOW());
        END IF;
    COMMIT;
    ");
    



    1. Mysqlの配列WHERELIKE?

    2. MySQLforSymfonyで損失データなしでモデルを再構築します

    3. GoogleドライブスプレッドシートをMySQLデータベースのように機能させることはできますか?

    4. ORACLEのselectステートメントのフィールドのデータ型を取得します