0
Привет, Im, дублируя строку с несколькими запросами и хотел бы получить mysql_insert_id() из результата. Дублирование работает нормально, но я, похоже, не могу получить от него последний идентификатор.Mysql несколько запросов и mysql_insert_id()?
Вот мой код:
$mysqli = new mysqli("localhost", "xxxx", "xxxx", "xxxx");
if ($mysqli->connect_errno) {
echo($error_page_header);
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
echo($error_page_footer);
exit;
}
$sql = "CREATE TEMPORARY TABLE tmp ENGINE=MEMORY SELECT * FROM test_table WHERE id=1; ";
$sql.= "UPDATE tmp SET id=NULL; ";
$sql.= "INSERT INTO test_table SELECT * FROM tmp; ";
$sql.= "DROP TABLE tmp; ";
if (!$mysqli->multi_query($sql)) {
echo($error_page_header);
echo "Multi query failed: (" . $mysqli->errno . ") " . $mysqli->error;
echo($error_page_footer);
exit;
} do {
if ($res = $mysqli->store_result()) {
var_dump($res->fetch_all(MYSQLI_ASSOC));
$res->free();
}
} while ($mysqli->more_results() && $mysqli->next_result());
echo('id: ' . mysql_insert_id()); // prints 0
Спасибо, я пропустил всю временную таблицу и следил за примером по ссылке, которую вы отправляете. отлично работает! – Bravebox