2017-04-27 2 views
-1

Ich führe mehrere Abfragen mit mysqli_multi_query aus. Ich habe viele Dinge ausprobiert, kann aber die zuletzt eingefügte ID nicht finden.Finde die zuletzt eingefügte ID, während mehrere Abfragen ausgeführt werden

$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); 

Ich brauche die letzte Eingabe-ID für diese Abfrage: INSERT INTO name_webinfo SELECT * FROM tmptable_1;

+0

Können Sie bitte erklären Sie Ihr Problem klar –

+0

i brauche lastinsertid für diese Abfrage "INSERT INTO name_webinfo SELECT * FROM tmptable_1;" – patel

+0

'SELECT MAX (ID) von Tmptable_1' verwenden Sie diesen Bruder, wenn es Arbeit ist Bitte sagen Sie mir –

Antwort

0

Im Folgenden Code arbeitet für mich gibt es Ihnen id Array

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

Versuchen Sie, diese (select LAST_INSERT_ID nach Insert-Anweisung) setzen:

$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()); 
Verwandte Themen