从查询中检索第一个插入 ID 并插入到多查询中不起作用

我一直在处理这个项目,现在我必须插入第一个查询的 id,它标识该表与其他表的关系,我希望第一个查询的 id 被保存为变量,并且然后插入到以下查询中


我试图设置要使用的值但它不起作用,因为我希望所有这些都在一个多查询中工作,下面是一些查询代码


$query = "INSERT INTO guests (

user_id, 

first_name, 

last_name, 

nationality, 

status,

sign_up) 


VALUES (

'$user_id', 

'$first_name', 

'$last_name', 

'$nationality', 

'$status',

NOW());";


$query = "SELECT @last_id := LAST_INSERT_ID();"



$query .= "INSERT INTO bookings (

user_id, 

guest_id,  

coming_from, 

going_to, 

date_in, 

date_out, 

sign_up)


VALUES (

'$user_id', 

@last_id,  

'$coming_from', 

'$going_to', 

'$date_in', 

'$date_out', 

NOW());";


$query .= "INSERT INTO preference (

guest_id, 

prefer, 

alergy, 

sign_up)


VALUES (

@last_id,  

'$prefer', 

'$alergy', 

NOW());";



$query .= "INSERT INTO rooms (

user_id, 

guest_id,

room_number, 

room_type, 

room_price, 

sign_up)


VALUES (

'$user_id', 

@last_id,  

'$room_number', 

'$room_type',

'$room_price',

NOW())";


  if(mysqli_multi_query($conn, $query))

  {

    echo "Guest Received successfully!";

  } else {

    echo "Failed! Data input error!";

  }

我希望它获取第一个查询访客 ID 并将其插入到 @last_id 列中,请问有什么想法吗?


慕莱坞森
浏览 128回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP