Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

chèn vào cơ sở dữ liệu từ trường văn bản trùng lặp nếu không trống php sql

Trước hết theo cách bạn xác định các biến của mình tại thời điểm Author_ID2 chưa bao giờ được định nghĩa:

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

Ở đây bạn chỉ cần ghi đè $AuthorTitle với giá trị từ $_POST['AuthorTitle_ID2'] và không xác định $AuthorTitle_ID2 ở tất cả.

Tiếp theo, câu lệnh SQL như bạn có sẽ chỉ liên kết author thứ hai với study trong casestudy bởi vì LAST_INSERT_ID() sẽ chỉ trả về ID của bản ghi được chèn cuối cùng ngay cả khi thực sự có một số bản ghi được chèn bởi một câu lệnh.

Và cuối cùng, có câu lệnh IF trong MySQL :

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng PHPExcel để tạo các tệp excel được tạo tự động

  2. SQL QUERY Sự cố sắp xếp kết quả

  3. Truy vấn tổng hợp không có GROUP BY

  4. chỉ định id người dùng php không hoạt động

  5. Lặp lại thông qua Mysql Rows trong PHP