insert_id / Wert ist null ?!

mrepox

Erfahrenes Mitglied
Hallo Leute,

bin echt ratlos. Ich will mir den letzten Wert der ID ausgeben lassen, die mit insert geschrieben wurde und diese id in der drauffolgenden Tabelle zu übernehmen.

Leider bekomme ich immer eine Null zurück.

PHP:
  $query = "insert into stories
                (headline, story_text, page, writer, created, modified)
              values
                ('$headline', '$story_text', '$page', '" . $_SESSION['auth_user'] . "', $time, $time)";
                
             
    $id_re =  $handle->insert_id;      // hier soll die ID des ersten inserts geholt werden  
    $query_key = "insert into keywords
               (story, keyword)
               values
               ('$id_re', '$hheadline')";
               
               
              
} 
$result = $handle->query($query); 
$result_key = $handle->query($query_key);

Normalerweise sollte das doch so gehen oder hat jemand eine andere Ansicht darüber?
 
Zuletzt bearbeitet:
Hallo,
also wenn ich dich richtig verstanden habe, willst du die letzte bzw. größte ID die in der Tabelle 'stories' existiert.
Wenn das so ist, würde ich die ID mit
Code:
SELECT Max(id) AS id FROM stories
abfragen.

mfg
forsterm
 
Zuletzt bearbeitet:
Meinst du das wäre verlässlicher? Habe ich denn bei mir einen Fehler drin?
Das muss doch normal klappen...

Trotzdem versuch ich deinen Tipp gleich mal.


PS: Der Sinn besteht darin, das ein neuer Artikel in die DB geschrieben wird und ich die Überschrift als Schlagwörter in die andere Tabelle "Keywords" zwecks Suchfunktion geben will.
Daher ist die ID absolut wichtig für die Zuordnung bzw. anschließende Verlinkung wenn die gefunden Schlagwörter auf den Artikel zeigen sollen.

EDIT

Habe deinen Rat befolgt, ABER nun schreibt er mir den sytax!! aus query_sid inne Tabelle!

:-) :-(



Code:
 $query = "insert into stories
                (headline, story_text, page, writer, created, modified)
              values
                ('$headline', '$story_text', '$page', '" . $_SESSION['auth_user'] . "', $time, $time)";
                
     $query_sid = "SELECT MAX(id) AS id  FROM stories";   
       
     $id_re=$query_sid;  
        
    $query_key = "insert into keywords
               (story, keyword)
               values
               ('$id_re', '$hheadline')";
               
               
              
} 
$result = $handle->query($query);
$result_sid = $handle->query($query_sid);
$result_key = $handle->query($query_key);


Als SQl unter PHPmyAdmin gehts und zeigt mir den passenden Wert an.
 
Zuletzt bearbeitet:
Zurück