Ergebnis 1 bis 11 von 11

Thema: [3.1.1] Insert ID abfragen

  1. #1
    Contao-Nutzer
    Registriert seit
    28.07.2013.
    Beiträge
    9

    Standard [3.1.1] Insert ID abfragen

    Hey zusammen,

    bin schon seit einiger Zeit mit Contao am arbeiten und nutze für DB Abfragen das Contao DB Objekt.
    PHP-Code:
    $this->import("Database");
    $objData $obj->Database->prepare("INSERT INTO tl_member %s")->set($insert)->execute(); 
    Das klappt ja auch wunderbar und in $objData bekommt man auch ein DB Objekt zurück geliefert in welchem ich die Insert ID sehe (wenn ich mir das Objekt mit print_r ausgebe), aber ich kann darauf nicht zugreifen.
    Kann mir dabei jemand helfen und einen Tipp geben?
    PHP-Code:
    $objData->insert_id
    mysqli_insert_id
    ($objData
    Funktionieren leider nicht.


    Schonmal vielen Dank für die Hilfe!

    Gruß
    MeRo

  2. #2
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Was willst du machen? Die ID eines Users auslesen oder einen neuen anlegen?

    In der Überschrift schreibst du, das du etwas lesen möchtest, verwendest aber für die DB den Einfügebefehl
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  3. #3
    Contao-Nutzer
    Registriert seit
    28.07.2013.
    Beiträge
    9

    Standard

    Ich möchte nach einem Insert die Id des geinserten (schönes Wort ) Datensatzes auslesen.

  4. #4
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ein ähnliches Problem hatte ich mit dem einfügen von Dateien und dessen ID.

    Leo meinte dann ich solle einfach noch mal die ID abfragen, da die im internen Cache ist würde keine DB-Abfrage mehr passieren, sondern daher genommen werden. Der Datensatz wird nicht nur in die DB geschrieben, sondern auch gleich in den Cache aufgenommen.
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  5. #5
    Contao-Nutzer
    Registriert seit
    28.07.2013.
    Beiträge
    9

    Standard

    Einfach nochmal die ID abfragen? Verstehe nicht was du damit und der Cache Sache meinst. Kenne mich mit dem Contao Core net so aus ):
    In dem Datensatz sind keine eindeutigen Werte dabei anhand dessen ich die ID wieder abfragen könnte.

  6. #6
    Contao-Fan Avatar von Bandyt
    Registriert seit
    22.04.2010.
    Ort
    Bremen
    Beiträge
    808

    Standard

    Ist insert_id nicht eine Funktion?

    Dann wäre es
    Code:
    $objData->insert_id()
    Habe aber gerade keinen Code um das auszuprobieren.
    Meine Erweiterungen: League Manager | Forum

  7. #7
    Contao-Nutzer
    Registriert seit
    28.07.2013.
    Beiträge
    9

    Standard

    Hmmm ich weiß nicht ob ich das schon probiert hatte, aber jetzt kommt auf jeden Fall die Meldung dass es eine protected Funktion ist ):
    Call to protected method Contao\Database\Mysqli\Statement::insert_id() from context ''

  8. #8
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.615
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich glaube, dass durch das INSERT INTO kein richtiges Antwort-Objekt zurückkommt.

    Aus Beispielen kenn ich das so (auch nicht ausprobiert):
    PHP-Code:
    $new_id $this->Database->prepare("INSERT INTO tl_member %s")->set($insert)->execute()->insertId

  9. #9
    Contao-Nutzer
    Registriert seit
    28.07.2013.
    Beiträge
    9

    Standard

    Funktioniert! Super, vielen Dank!

  10. #10
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich denke gerade darüber nach ob es nicht besser ist die API zu nutzen und einen neuen User über:

    PHP-Code:
    // Create the user
    $objNewUser = new \MemberModel();
    $objNewUser->setRow($arrData);
    $objNewUser->save();

    $insertId $objNewUser->id
    anzulegen.
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  11. #11
    Contao-Nutzer
    Registriert seit
    28.07.2013.
    Beiträge
    9

    Standard

    Kann leider erst jetzt antworten, hatte die letzten Tage bisschen viel um die Ohren.

    Habe es so gemacht wie du beschrieben hast, ist einfach sauberer. Kenne mich wie schon erwähnt mit diesem Teil von Contao nicht so sehr aus ):

    Vielen Dank für eure Hilfe!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •