2017-04-27 85 views
-1

我使用mysqli_multi_query执行多个查询。我尝试了很多东西,但找不到最后插入的ID。查找上次插入的ID,同时执行多个查询

$fetchbasic = mysqli_fetch_array($resCheckres); 
$cpyname = $fetchbasic['name'].'(copy)'; 

$query1 = "CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM name_webinfo WHERE resume_id = ".$resume_id."; 
    UPDATE tmptable_1 SET resume_id = NULL , name = '".$cpyname."'; 
    INSERT INTO name_webinfo SELECT * FROM tmptable_1; 
    DROP TEMPORARY TABLE IF EXISTS tmptable_1;"; 

$resCheckres = mysqli_multi_query($link,$query1); 

我需要最后插入的ID此查询:INSERT INTO name_webinfo SELECT * FROM tmptable_1;

+0

请问您能否清楚解释您的问题 –

+0

i需要lastinsertid这个查询“INSERT INTO name_webinfo SELECT * FROM tmptable_1;” – patel

+0

'从tmptable_1'选择MAX(ID)如果是工作,请使用这个bro请告诉我 –

回答

0

下面的代码为我工作它给你的ID array

do { 
    $ids[] = $link->insert_id; 
    $link->next_result(); 
} while($link->more_results()); 
print_r(ids); 
0

试试这个(把选择LAST_INSERT_ID插入语句):

$fetchbasic = mysqli_fetch_array($resCheckres); 
$cpyname = $fetchbasic['name'].'(copy)'; 

    $query1 = "CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM name_webinfo WHERE resume_id = ".$resume_id."; 
     UPDATE tmptable_1 SET resume_id = NULL , name = '".$cpyname."'; 
     INSERT INTO name_webinfo SELECT * FROM tmptable_1; 
     SELECT LAST_INSERT_ID(); 
     DROP TEMPORARY TABLE IF EXISTS tmptable_1;"; 


    $resCheckres = mysqli_multi_query($link,$query1); 
    do { 
     if ($result = $link->store_result()) { 
      while ($row = $result->fetch_row()) { 
      echo ($row); 
      } 
     } 
    } while ($link->next_result());