Mittwald CM Service: TYPO3-Hosting, TYPO3-Schulungen, Agenturpakete, Managed-Server
Optimiertes TYPO3 Hosting von Mittwald CM Service

exec_INSERTquery wurde Beantwortet

Autor Nachricht
Verfasst am: 15.06.2009 [12:28]
Devil


[Themenersteller]
dabei seit: 20.10.2005
Beiträge: 46

Hallo allesamt,
ich glaub ich habe grad die dämlichste Frage, aber ich komme bei meiner Extension nicht weiter. Zudem weiß ich nicht mal ob das hier in das Themengebiet des Forums passt, sorry.

Ich will ne einfache insert Anweisung machen. Mit der exec_INSERTquery-Anweisung schreibt mir Typo jedoch in die DB bei den Feldern crdate und tstamp nur 0 hin. Was ist bitte an meinem Array falsch?

Php:Zeilennummerierung:  An / Aus

  1. $fieldValues = array(
  2.         'pid' => $this->pid,
  3.         'tstamp' => 'UNIX_TIMESTAMP()',
  4.         'crdate' => 'UNIX_TIMESTAMP()',
  5.         'cruser_id' => '1',
  6.         'deleted' => '0',
  7.         'hidden' => '0',
  8.         'smiley' => $smiley,
  9.         'comment' => $comment,
  10.         'name' => $nameID["uid"]
  11. );
  12. $res = $GLOBALS['TYPO3_DB'] -> exec_INSERTquery('tabelle', $fieldValues);



Mit der herkömmlichen Schreibweise funzt alles prima.
Php:Zeilennummerierung:  An / Aus

  1. $insert = "INSERT INTO tabelle (pid,tstamp,crdate,cruser_id,deleted,hidden,smiley,comment, name) VALUES (".$this->pid.",UNIX_TIMESTAMP(),UNIX_TIMESTAMP(),1,0,0,'".$smiley."','".$comment."','".$nameID["uid"]."')";
  2. $res = mysql(TYPO3_db,$insert);


Danke für Eure Hilfe!

Devil
Verfasst am: 15.06.2009 [12:38]
just2b

[Moderator]
dabei seit: 04.08.2004
Beiträge: 18915

über 5000 Posts über 10000 Posts über 15000 Posts
Hallo,

naja du übergibst da ja einen string, und der passt bekanntlicherweise nicht in ein integer feld.

nimm einfach das:
'tstamp' => time(),


lg georg

⇒ TYPO3 - inspiring people to share ⇐ aber kein Support per PM!

    ⇒ in eigener Sache: · inspiring people to share your location Trag dich in die TYPO3 Weltkarte ein und zeige wie groß die TYPO3 Community ist - vielen Dank!⇐
Verfasst am: 15.06.2009 [12:41]
Devil


[Themenersteller]
dabei seit: 20.10.2005
Beiträge: 46

Irgendwie hab ich mir sowas gedacht gehabt, nur wusst ich nicht das man es auch mit time lösen kann. Jedenfalls tausend Dank.
Verfasst am: 23.06.2009 [22:41]
Gregor

dabei seit: 04.10.2006
Beiträge: 44

Alternativ hättest du auch die tstamp und crdate-Spalten als "no_quote_fields" in der exec_INSERTquery-Funktion definieren können, denke ich.

Hab es jetzt nicht getestet, aber wenn man z.B. bei einer Spalte den aktuellen Wert +1 setzen möchte, muss man neben "spalte => 'spalte+1'" für den Wert im Array für die Insert-Werte noch "spalte" als "no_quote_field" definieren, da sonst die fullQuoteArray-Funktion zur Absicherung durch Typo3 greift und diese MySQL-internen Funktionen nicht mehr als solche erkannt werden.

[Dieser Beitrag wurde 2 mal bearbeitet. Zuletzt am 23.06.2009 um 22:42]




 
TYPO3 Hosting in der Version 4.3.2 kostenlos bei Mittwald CM Service testen

TYPO3 4.3.2 jetzt testen

Testen Sie die neue TYPO3 Version 4.3.2 kostenlos für einen Monat


Entwicklerschulungen

  • Espelkamp:
    Mit., 17.03.10 - Fre., 19.03.10
  • Berlin:
    Mit., 21.04.10 - Fre., 23.04.10
  • Köln:
    Mon., 21.06.10 - Mit., 23.06.10