Two inserts in PHP/MySQL using LAST_INSERT_ID() and rows from another table

前端 未结 3 1383
耶瑟儿~
耶瑟儿~ 2021-01-16 06:51

I am working on an events calendar using PHP and MySQL (V5.1) where the admin would add an event, and then an attendance list for that event would be created as well. I have

相关标签:
3条回答
  • 2021-01-16 07:28

    You could use mysql_insert_id()

    $query1 = mysql_query("INSERT INTO events (name , location , date) VALUES ('".mysql_real_escape_string($name)."' , '".mysql_real_escape_string($location)."' , '".mysql_real_escape_string($date)."')");
    
    $insert_id = mysql_insert_id() ;
    
    $query2 = mysql_query("INSERT INTO attendance (event_ID , member_ID) SELECT {$insert_id}, members.member_ID FROM members") ;
    
    0 讨论(0)
  • 2021-01-16 07:35

    Put VALUES into $query2 to form a correct SQL-statement:

    $query2 = mysql_query("INSERT INTO attendance (event_ID , member_ID) **VALUES (**SELECT LAST_INSERT_ID(), members.member_ID FROM members");
    
    0 讨论(0)
  • 2021-01-16 07:40

    A couple of important points. First, if you getting your last insert ID you should execute LOCK and UNLOCK queries first:

    • LOCK TABLES events WRITE;
    • UNLOCK TABLES

    Second, you can use the mysqli_insert_id() method to get the ID of the last insert. This means that you must have an AUTO_INCREMENT field in the table you are inserting.

    0 讨论(0)
提交回复
热议问题