2016-03-29 4 views
-2

Ich möchte eine letzte in Tabelle A hinzugefügte Zeile abrufen und die gesamte Zeile in Tabelle B einfügen. Die beiden Tabellen befinden sich in einer anderen Datenbank. Mein Code:So rufen Sie die letzte Zeile einer Tabelle ab und fügen sie in eine andere Tabelle ein

$db=new PDO('mysql:host=localhost;dbname=service','root',''); 
    $db1=new PDO('mysql:host=localhost;dbname=service1','root',''); 


    $req = $db->query('SELECT * FROM `service`.`myusers` WHERE ID NOT IN (SELECT ID FROM `service1`.`myusers`)'); 
    $reqt = $req->fetch(); 
    $count = $req->rowCount(); 

    if($count){ 
     $db1->query('SET NAMES UTF8'); 
    $reqa=$db1->prepare('insert into myusers values(?,?,?,?,?,?)'); 
    $db1->query('SET NAMES UTF8'); 
    $reqa->bindParam(1,$reqt['ID']); 
    $reqa->bindParam(2,$reqt['Prénom']); 
    $reqa->bindParam(3,$reqt['LastName']); 
    $reqa->bindParam(4,$reqt['dateDebut']); 
    $reqa->bindParam(5,$reqt['identifient']); 
    $reqa->bindParam(6,$reqt['fid']); 
    $reqa->execute(); 
     return true; 
    }else{ 
     return false; 
    } 

Funktioniert aber nicht.

+1

Definieren Sie "funktioniert nicht". Was tut es? In welcher Weise versagt es? – David

+0

keine Fehleranzeige und Einfügen erfolgt nicht, aber die Auswahl funktioniert. Ich kann eine letzte Zeile abrufen. – Olfa

+1

Kein Fehler, weil Sie nicht nach ihnen suchen http://php.net/manual/en/pdo.error-handling.php - http://php.net/manual/en/function.error-reporting. php –

Antwort

1

DB nicht ORDER Zeilen per se, wenn Sie also die gleiche Abfrage zweimal ausführen, können Sie unterschiedliche Ergebnisse haben.

Sie benötigen ORDER BY <field> DESC clausule und LIMIT 1, um den letzten Datensatz zu erhalten.

Verwandte Themen