2016-08-09 2 views
0

Ich füge zwei Zeilen von einem .csv in eine Tabelle durch PHP.PHP Insertion - UID ist größer für den ersten Eintrag

Ich behalte auch alle Fehler im Auge, und wenn einer eintritt, begehe ich die Transaktionen nicht. Nach dem Einfügen in die Tabelle erhalte ich die IDs der resultierenden Zeilen (die alle in einer Transaktion festgelegt wurden), und die erste Zeile des CSV entspricht der zweiten ID. Ich habe auch versucht eine mysqli_commit an verschiedenen Orten hinzufügen, noch das gleiche Problem

$queryInsert = "INSERT INTO ".$table." VALUES(NULL,?,?,?,1,?)"; 
    if (!($stt= mysqli_prepare($con,$queryInsert))){ 
     die('Failed'); 
    } 

    //some arbitrary data checking 
    if ($cols[8] == 'No' || $cols[8] == 'N' || $cols[8] == '0'){ 
     $ref = 0; 
    }else{ 
     $ref = 1; 
    } 

    mysqli_stmt_bind_param($stt,"ssii",$cols[6],$cols[7],$runUID,$ref); 
    $in = mysqli_stmt_execute($stt); 
    mysqli_stmt_close($stt); 
    $uid = mysqli_insert_id($con); 
    mysqli_commit($con); 

    echo $uid; 

Wenn die vorherige Zeileneintrag 284 war, ist die Ausgabe 287 und 286 (es versucht, 285 das letzte Mal einzufügen, ist fehlgeschlagen, aber die ID Ungültigkeit wird irgendwie beibehalten, also versucht es 286 und 287 einzufügen, versucht aber 287 vor 286 einzufügen und schlägt wieder fehl). Die zweite Zeile (mit der unteren ID) ist vollkommen in Ordnung, die höhere dagegen nicht. Was ist los?

Antwort

0

Das Problem war, dass ein Trigger den Eintrag konterte. Fest

Verwandte Themen