db_last_insert_id
Eingetragen von byronic (195)
am 21.02.2009 - 22:03 Uhr in
am 21.02.2009 - 22:03 Uhr in
Ich hab folgendes Problem, wenn ich per node_save() eine Node erstelle und dann sofort dannach mit "db_last_insert_id('node', 'nid');" die Nid versuche auszulesen, bekomme ich Werte im 3stelligen 600er bereich, obwohl meine nid, im 2stelligen Bereich, der Node bei 53 liegt.
Woran könnt das liegen?
- Anmelden oder Registrieren um Kommentare zu schreiben
Du brauchst die nid nicht
am 21.02.2009 - 22:15 Uhr
Du brauchst die nid nicht auslesen, die steht im Node.
Suchmaschinenoptimierung (SEO) & Drupal
Neh, ich erstelle mittels
am 21.02.2009 - 22:25 Uhr
Neh, ich erstelle mittels der Node api zusätzlich noch eine andere Node eines anderen Typen, und die nid wiedrum brauch ich.
Fällt dir hier was
am 21.02.2009 - 22:44 Uhr
Fällt dir hier was auf?
function node_save(&$node) {
global $user;
$node->is_new = FALSE;
// Apply filters to some default node fields:
if (empty($node->nid)) {
// Insert a new node.
$node->is_new = TRUE;
$node->nid = db_next_id('{node}_nid');
$node->vid = db_next_id('{node_revisions}_vid');
}
Also nochmal: Die nid steht im Node.
Suchmaschinenoptimierung (SEO) & Drupal
Ja aber wenn ich doch nach
am 21.02.2009 - 23:02 Uhr
Ja aber wenn ich doch nach dem node_save() auf das objekt $node zugreife, bekomme ich doch die nid meines aktuellen Node, also das was ich ausgewählt, editiert und gespeichert habe. Aber ich brauche ja die NID der gerade durch die NoedeApi zusätzlich erstellten Nodes.
die Liefert node_save
am 27.02.2009 - 20:18 Uhr
die Liefert node_save zurück
<?php
$node = ......
node_save($node);
print $node->nid;
?>
node_save nimmt $node an und verändert es entsprechend, dass auch nid hinzukommt
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Ja nur wie gesagt, es gibt
am 27.02.2009 - 22:00 Uhr
Ja nur wie gesagt, es gibt mir nen falschen Wert zurück.
paste
am 27.02.2009 - 22:36 Uhr
Moin.
Zeig doch mal den entsprechenden Quelltext. Vielleicht sehen wir dann eventuelle Unregelmässigkeiten besser.
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Eigentlich ganz
am 28.02.2009 - 01:46 Uhr
Eigentlich ganz einfach.
node_save($node); // Ohne nid, damit mir eine neue Node erstellt wird
$last = db_last_insert_id('{node}', nid); // Mit einfach 'node' bekomm ich das gleiche Resultat.