Is it possible to retrieve id (ua_id is in my case) for each INSERT statement in following SQL request
INSERT INTO users_addresses (ua_user_id, ua_address_id
Yes. Use $mysqli->insert_id
- see working example below.
$mysqli = new mysqli(host, user, pass, db);
$query = "INSERT INTO users_addresses (ua_user_id, ua_address_id) VALUES (1,1); ";
$query .= "INSERT INTO users_addresses (ua_user_id, ua_address_id) VALUES (1,2); ";
$query .= "INSERT INTO users_addresses (ua_user_id, ua_address_id) VALUES (1,3); ";
if ($mysqli->multi_query($query)) {
do {
/* Returns the auto generated id used in the last query */
printf("%d\n", $mysqli->insert_id);
/* Check if loop should continue */
if ($mysqli->more_results() === FALSE) break;
} while ($mysqli->next_result());
}
Use built in mysqli::$insert_id - documentation: http://php.net/manual/en/mysqli.insert-id.php