• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit mysqlquery

Furien

Mitglied
Hi Com,
Ich habe ein Problem mit dem Eintragen von Datensätzen in meine DB -
Bei 2 Spalten wird nur "0" eingetragen.
Hier mein Code:

form:
Code:
<form method="post" action="" enctype="multipart/form-data">
<fieldset>
<legend>Track auswählen</legend>
        <input name="datei[]" type="file" /><br/>
        Ersteller Name: <input name="autorname" type="Input" /><br/>
        Trackname: <input name="trackname" type="Input" /><br/>
        Zeit für Goldmedaille: <input name="gold" type="Input" /><br/>
        Beschreibung: <textarea name="beschreibung" style="height: 80px"></textarea>    
        <br />
    
<input type="submit" name="sendfiles" value="Hochladen" class="button "/>

</fieldset>
</form>

und Eintragung:

PHP:
$autorname = htmlspecialchars($_POST['autorname']); //holen der variable aus dem Name: eingabefeld
$trackname = htmlspecialchars($_POST['trackname']); //hier holen wir die hp
$gold = htmlspecialchars($_POST['gold']);
$beschreibung = htmlspecialchars($_POST['beschreibung']);

mysql_query("
INSERT INTO `furien`.`tracks` (
`id` ,
`name` ,
`datum` ,
`gold` ,
`autor` ,
`beschreibung`
)
VALUES (
NULL , '$trackname', 'datetime', '$gold', '$autorname', '$beschreibung'
);

 ");

Nur "Gold" ,"Autor" und das Datum werden nicht richtig eingetragen.

mfg furien
 
Werbung:
Prüfe mal, ob eine MySQL-Fehlermeldung ausgegeben wird, mit:
PHP:
mysql_query("...")or die(mysql_error());

Möchtest du in das Feld datum das aktuelle Datum und die Uhrzeit eintragen, dann gib ihm den Datentyp datetime und ersetze das 'datetime' aus der Abfrage mit NOW().

P.S. Ausserdem solltest du dich vor SQL-Injection schützen, indem du die einzutragenden Werte mit mysql_real_escape_string() maskierst.
 
Das mit dem Injectionschutz habe ich gemacht, now() funktioniert nicht, autorname und gold funktioniert nicht und keine Fehlermeldung!

mfg Furien

edit: datetime funktioniert jetzt, hatte vergessen, die '' wegzumachen ^^
 
Zuletzt bearbeitet:
Werbung:
Wie sieht dein Code jetzt aus?

Eins ist sicher:
Code:
VALUES (
NULL , '$trackname', [B][COLOR="Red"]'datetime'[/COLOR][/B], '$gold', '$autorname', '$beschreibung'
)
kann so nicht das Datum eintragen.
 
Code:
$autorname = mysql_real_escape_string($_POST['autorname']);
$trackname = mysql_real_escape_string($_POST['trackname']); 
$gold = mysql_real_escape_string($_POST['gold']);
$beschreibung = mysql_real_escape_string($_POST['beschreibung']);

mysql_query("
INSERT INTO `furien`.`tracks` (
`id` ,
`name` ,
`datum` ,
`gold` ,
`autor` ,
`beschreibung`
)
VALUES (
NULL , '$trackname', now(), '$gold', '$autorname', '$beschreibung'
);") or die(mysql_error());
So siehts aus ;)


EDIT
Es geht jetzt alles! Hatte bei phpmyadmin z.B. für autorname INT drin, bei gold auch -.-
Habe jetzt aber noch die Frage, wie man den Dateityp bei einem Upload per php
rausfinden kann und alle bis auf zwei verbieten.
Und z.B. bei einem Autorfeld nur Buchstaben und Zahlen zulassen also im Formular.

Wär nett, wenn mit jemand helfen kann ^^
 
Zuletzt bearbeitet:
Zurück
Oben