TYPO3-Testaccount
Testen Sie die aktuelle TYPO3 Version 4.4.2 kostenlos und unverbindlich für einen Monat!

jetzt testen

Schulungen

jetzt buchen

exec_INSERTquery


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
$fieldValues = array(
	'pid' => $this->pid,
	'tstamp' => 'UNIX_TIMESTAMP()',
	'crdate' => 'UNIX_TIMESTAMP()',
	'cruser_id' => '1',
	'deleted' => '0',
	'hidden' => '0',
	'smiley' => $smiley,
	'comment' => $comment,
	'name' => $nameID["uid"]
);
$res = $GLOBALS['TYPO3_DB'] -> exec_INSERTquery('tabelle', $fieldValues);



Mit der herkömmlichen Schreibweise funzt alles prima.
PHP
$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"]."')";
$res = mysql(TYPO3_db,$insert);


Danke für Eure Hilfe!

Devil
Profil
Verfasst am: 15. 06. 2009 [12:38]
just2b
TYPO3-Gott
Moderator
Dabei seit: 04.08.2004
Beiträge: 19047
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!<=
ProfilWWW
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.
Profil
Verfasst am: 23. 06. 2009 [22:41]
Gregor
Dabei seit: 04.10.2006
Beiträge: 45
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 2mal bearbeitet, zuletzt am 23.06.2009 um 22:42.]
Profil