hilfe bei php: NOW() funktion

Seite 1 von 3 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/hilfe_bei_php_now_funktion_162205/page_1 - zur Vollversion wechseln!


Easyrider16 schrieb am 26.04.2006 um 13:39

hi

habe prob, will in sql-tabelle aktuelles datum einfügen, bekomms aber nicht hin

ausschnitt des codes:


$sql = "INSERT INTO tblauktionen (subject, description, from, to, available, limit, dt, price, picture) VALUES (";
$sql= $sql.$_REQUEST['fsubject'].",";
$sql= $sql.$_REQUEST['fdescription'].",";
$sql= $sql.$_REQUEST['ffrom'].",";
$sql= $sql.$_REQUEST['fto'].",";
$sql= $sql.$_REQUEST['favailable'].",";
$sql= $sql.$_REQUEST['flimit'];

$sql= $sql.$_REQUEST['fprice'].",";
$sql= $sql.$_REQUEST['fpicture'].")";


in die leere zeile gehört die funktion oder?

tia


Rektal schrieb am 26.04.2006 um 13:47

Da fehlt noch mehr, z.B. Anfuehrungszeichen um Strings, oder?

Im Ende sollte es so funktionieren:
INSERT ... VALUES( ... , NOW(), ...


freezer90 schrieb am 26.04.2006 um 13:48

hallo!

also kommt darauf an, welchen typ die spalte dt hat. willst du das als string/timestamp/what ever speichern?

es gibt eigene date/time funktionen in mysql:
http://dev.mysql.com/doc/refman/5.0...-functions.html

lg
freezer90

TIPP: $sql.= $_REQUEST['...'] ist das selbe wie $sql = $sql.$_REQUEST['...']


Spikx schrieb am 26.04.2006 um 13:48

Ja... wo is überhaupt das Problem? ;)

zB so:

Code: PHP
$sql = "INSERT INTO tblauktionen SET
			subject     = '".$_REQUEST['fsubject']."',
			description = '".$_REQUEST['fdescription']."',
			from        = '".$_REQUEST['ffrom']."',
			to          = '".$_REQUEST['fto']."',
			available   = '".$_REQUEST['favailable']."',
			limit       = '".$_REQUEST['flimit']."',
			dt          = NOW(),
			price       = '".$_REQUEST['fprice']."',
			picture     = '".$_REQUEST['fpicture']."';";


Rektal schrieb am 26.04.2006 um 13:59

Ist magic_quotes aktiv? Sonst musst du die einzelnen Werte auch noch escapen.


Luzandro schrieb am 26.04.2006 um 14:01

NOW ist eine mysql und keine php-funktion (schätze das war dein problem, denn aus deinem post geht nicht wirklich hervor, was du tust und welches problem das verursacht..)

wenn du das ganze auch irgendwo online verwenden willst, solltest du den input auch noch überprüfen
http://de.wikipedia.org/wiki/SQL-Injection


Easyrider16 schrieb am 26.04.2006 um 14:11

habs so gemacht wie spikx gepostet hat, funkt aber ned

fehlermeldung:

INSERT INTO tblauktionen SET subject = 'fdgh', description = 'fdgh', from = '2006-02-02', to = '2006-02-02', available = '20', limit = '10', price = '20', picture = '';Fehler!!: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from = '2006-02-02', to = '2006-02-02', ' at line 4


Spikx schrieb am 26.04.2006 um 14:16

Welcher Datentyp ist für from und to in der Tabelle definiert?


Easyrider16 schrieb am 26.04.2006 um 14:21

Zitat von Spikx
Welcher Datentyp ist für from und to in der Tabelle definiert?

DATE


Luzandro schrieb am 26.04.2006 um 14:46

kanns sein, dass FROM bei mysql ein reserviertes wort ist und nicht als spaltenname vorkommen darf? wobei dann hättest du den table ja gar nicht anlegen können...


prayerslayer schrieb am 26.04.2006 um 15:01

ja, isses. SELECT * FROM table :)

//sry, wieder nur die hälfte gelesen gehabt. vl hilfts wem :D


Spikx schrieb am 26.04.2006 um 15:10

Zitat von Luzandro
kanns sein, dass FROM bei mysql ein reserviertes wort ist und nicht als spaltenname vorkommen darf? wobei dann hättest du den table ja gar nicht anlegen können...
Doch, das is es. Anlegen geht nämlich, darauf zugreifen nicht mehr :) Hatte dasselbe Problem wie ich mal eine Tabelle erstelle habe die das Attribut 'key' hatte..
Aber i glaub mit
Code: PHP
$sql = "INSERT INTO tblauktionen SET
			subject     = '".$_REQUEST['fsubject']."',
			description = '".$_REQUEST['fdescription']."',
			'from'        = '".$_REQUEST['ffrom']."',
			to          = '".$_REQUEST['fto']."',
			available   = '".$_REQUEST['favailable']."',
			limit       = '".$_REQUEST['flimit']."',
			dt          = NOW(),
			price       = '".$_REQUEST['fprice']."',
			picture     = '".$_REQUEST['fpicture']."';";
könnte es funktionieren? Hab's damals nicht mehr ausprobiert. Oda vielleicht mit accent statt apostroph? Hm.


vossi schrieb am 26.04.2006 um 15:24

ad mysql und datum .. bisher bin ich am besten gefahren die datumsfelder einfach INT zu halten und UNIX Timestamps im PHP einzufügen - die Datumsfunktionen für Unix Timestamps sind ziemlich ok :)


mat schrieb am 26.04.2006 um 16:17

Zitat von vossi
ad mysql und datum .. bisher bin ich am besten gefahren die datumsfelder einfach INT zu halten und UNIX Timestamps im PHP einzufügen - die Datumsfunktionen für Unix Timestamps sind ziemlich ok :)
kommt auf den anwendungszweck an.. bei einem geburtsdatum fährt man mit einem unix-timestamp eher schlecht ;)

keywords für tabellen- oder spaltennamen müssen per unter ` geschrieben werden.. also zB: `from`


dio schrieb am 26.04.2006 um 19:27

@Spikx: Der Syntax bei deinem Insert ist mir nicht bekannt:

Code: PHP
INSERT INTO `table` (spalte1, spalte2, spalte3) VALUES("wert1", "wert2", "wert3")




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025