[Frage] Doppelte Datenbankeinträge TYPO3-Version: 7.6.9

  • Snitrem Snitrem
    TYPO3-Anwärter
    0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    13. 09. 2016, 14:07

    1. $query = $GLOBALS['TYPO3_DB']->exec_INSERTquery('tx_gradeventmanager_domain_model_guest', $values);
    2. $result = $GLOBALS['TYPO3_DB']->sql_query(TYPO3_db, $query);

    Ich versuche Daten, welche via FE durch einen Benutzer eingegeben werden in die Datenbank zu schreiben. Das ganze gestaltet sich momentan für einen Anfänger wie mich etwas schwierig, aber man wächst mit seinen Herausforderungen.

    Nun schreibe ich erfolgreich Datensätze in meine Datenbank, allerdings erhalte ich immer doppelte Einträge. Ich kann mir nicht erklären, wie das zustande kommen kann.

    Die Methode wird über einen Controller aufgerufen ->
    [code]&type=6666&tx_gradeventmanager_pi1%5Baction%5D=new&tx_gradeventmanager_pi1%5Bcontroller%5D=Guest&cHash=bee2bb75be9a63ac1068d871087166ce[/code]

    Vielleicht weiß jemand Rat?


  • 1
  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    14. 09. 2016, 08:58

    Die Funktion [b]exec_INSERTquery[/b] heißt [b]exec_INSERTquery[/b], weil sie den Insert direkt ausführt, also nicht nur die Query erzeugt.
    Anschließend führst du überflüssigerweise nochmal einen Insert per [b]sql_query[/b] aus,
    daher erhälst du immer doppelte Einträge, logisch?!

  • 0 x
    3179 Beiträge
    142 Hilfreiche Beiträge
    14. 09. 2016, 09:02

    [url=http://api.typo3.org/typo3cms/current/html/class_t_y_p_o3_1_1_c_m_s_1_1_dbal_1_1_database_1_1_database_connection.html#a6b0ccee62e184d348329f5f0c726303d]exec_INSERTquery()[/url] führt die Query bereits aus. Als Rückgabewert bekommst Du einen boolean, d.h. nichts, was Du wiederum an sql_query() als Parameter sinnvoll übergebn kannst.

  • Snitrem Snitrem
    TYPO3-Anwärter
    0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    14. 09. 2016, 11:07

    Sorry für meine Dummheit. Jetzt funktioniert es einwandfrei!

  • 1