MySQL setzt nichts ein
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
date
datenbank
datum
eigentlichen problem
einstellen
formular
host
injektion
kampagne
mache
schau
spalte
tabelle
update
url
verbindung
versuchen
zeitstempel
-
Hi, ich möchte nach einem Formular das Daten in eine MySQL Tabelle eingetragen werden, der Code sieht so aus:
<?php session_start(); $username = $_SESSION['username']; $oname = $_POST['oname']; $timestamp = time(); $datum = date("d.m.Y - H:i", $timestamp); $put_into = mysql_query("INSERT INTO kampagnen VALUES('{$oname}',''{$username}',''{$datum}')"); ?>
Aber nichts wird in die Tabelle eingetragen, warum ?
Beitrag zuletzt geändert: 6.10.2012 18:16:24 von free-scripts -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Schau dir mal genau die ' in deinem SQL an, dann wird es dir gleich auffallen.
Sonst sagt dir mysql_error(), was nicht funktioniert hat.
Edit:
* date braucht keinen Zeitstempel wenn es der aktuelle ist.
* Dein Script ist anfällig für SQL-Injektionen. Benutze mysql_real_escape_string()
Beitrag zuletzt geändert: 6.10.2012 18:25:12 von chatter -
Also ich mache das bei mir so:
$dbverbindung = mysql_connect ($host, $user, $password)or die ("Keine Verbindung zu der Datenbank möglich."); //wenigstens mit nem einfachen real escape $oname = mysql_real_escape_string($_POST['oname'], $dbverbindung); $username = mysql_real_escape_string($_POST['username'], $dbverbindung); $put_into = " INSERT INTO `kampagnen` (oname, username) VALUES ('$oname', '$username') //bei evtl. Update noch ON DUPLICATE KEY UPDATE oname = '$oname', username = '$username'";
vieleicht hilft es Dir ja weiter.
LG
Beitrag zuletzt geändert: 6.10.2012 18:33:31 von aff3m1tw4ff3 -
Nichts zum eigentlichen Problem, aber du kannst bei der Tabellenerstellung die Spalte für das Datum auf Timestamp einstellen und als default current_timestamp, also:
CREATE TABLE testtabelle( [...], datum TIMESTAMP DEFAULT current_timestamp );
-
free-scripts schrieb:
in der config.php steht schon die Verbindung zu meiner Datenbank
steht hier nur der Vollständigkeit halber, dann nimm es einfach raus und passe
an deine config an. Weiß ja nicht wie es bei Dir heißt$dbverbindung
-
free-scripts schrieb:
Versuche es mal so:
$put_into = mysql_query("INSERT INTO kampagnen VALUES('{$oname}',''{$username}',''{$datum}')");
$put_into = mysql_query("INSERT INTO `kampagnen` (`oname`, `username`) VALUES ('$oname', '$username')"); if(!$put_into) die(mysql_error());
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage