mysql_query("INSERT INTO ...

mysql_query("INSERT INTO ...| Datum: 19.10.2009 - 18:10 | Author: PCFreund

Code


if($title != "" and $text != "")
{
$date = date("Y-m-d");
mysql_query("INSERT INTO `threads`
(`title`, `user_id`, `datetime`, `closed`, `wichtig`)
VALUES
('$title', '$uid', '$date', '0', '0')
");
$topic_id = mysql_insert_id();
mysql_query("INSERT INTO `posts`
(`user_id`, `text`, `date`, `topic_id`)
VALUES
('".$uid."', '".$text."', '".$date."', '".$topic_id."')
");
// Die folgende Zeile wird uns bei Erfolg zum gerade erstellten
// Thread weiterleiten. Die Threadseite werden wir später
// programmieren.
header("Location: showthread.php?thread=$topic_id");
}




was funktioniert daran nicht ?
also er schreibt alles was in die tabelle threads gehört rein aber was in posts gehört nicht und dann steht da bei der threadanzeige bei antworten "-1" also dass -1 antworten geschrieben wurden ...
aber da müsste stehen 0 ...
und wenn ich in die tabelle reinschau ist da alles leer bzw. es zeigt keinen einzigen datensatz an, nur wenn ich auf answer.php geh und auf den thread antworte und die erste antwort schreibe dann zeigt er aber an "0" ...
aber die hauptsache ist gerade der script ...
hab schon alles geprüft ...
liegt das villeicht daran dass die tabellen die einzelnen zeilen in einer anderen reihenfolge geordnet sind als die daten mit php reingschrieben werden !?
also die datensätze werden irgendwie kreuz und quer erst reingeschirebn oder muss man das so machen wie die datensätztabellen geordnet sind ?

Re: mysql_query("INSERT INTO ...| Datum: 19.10.2009 - 19:10 | Author: SirZimt

Zee und wo is das Script wo dir die -1 anzeigt?
Wäre nicht schlecht das alles mal zu sehen! Ich glaub das zählt nämlich nicht von 0 los sonder eben von -1

Re: mysql_query("INSERT INTO ...| Datum: 19.10.2009 - 19:10 | Author: Anonymous

Am besten ist es du lernst, wie man die SQL Abfragen ausgibt, um zu überprüfen ob alles genau so ausschaut wie du es dir vorstellst.
Und was von SQL-Injections scheinst du wohl auch noch nie gehört zu haben :)

Re: mysql_query("INSERT INTO ...| Datum: 19.10.2009 - 19:10 | Author: Haruspex

Also ein richter Fehler ist mir jetzt auf den ersten Blick, ich schau aber gleich nochmal ne Runde genauer ;)


Zitat von 3pcp9dfh

liegt das villeicht daran dass die tabellen die einzelnen zeilen in einer anderen reihenfolge geordnet sind als die daten mit php reingschrieben werden !?
also die datensätze werden irgendwie kreuz und quer erst reingeschirebn oder muss man das so machen wie die datensätztabellen geordnet sind ?
Nein, daran liegt das nicht

Was mir aber noch aufgefallen ist, beim 2. Query stehen die Variablen nicht in Anführungszeichen, beim ersten schon.
Außerdem gehören Zahlen m.E nicht in Anführungsstriche bzw. nicht in Apostroph.

/e: Ich stimme meinen Vorrednern zu, ne Ausgabe wäre hilfreich. Auch betreffend der SQL-Injections stimme ich zu. ;)