Hello,
generell mal eine Frage, und die ist einfach nur eine Frage: funktionieren die doppelten Anführungszeichen im SQL anstandslos? Ich selbst benutze in SQL immer einfache Anführungszeichen.
mysql_query("Update Buch Set antwort="ja" WHERE id="$ziel"");
Potenzial für SQL-Injection. Warum benutzt du hier nicht, wie unten auch, mysql_real_escape_string?
Weiterhin führst du keine Fehlerbehandlung durch, d.h. das Statement könnte schief gegangen sein.
$name_set = mysql_query("SELECT name FROM Biographie WHERE id="$zugang" ");
hier ist ebenfalls keine Fehlerbehandlung, es könnte kein Ergebnis geben. Es gilt der selbe Hinweis auf SQL-Injection wie oben.
mysql_query("INSERT INTO Antworten (antwort, von, kommentar, datum, zeit) VALUES ("$ziel", "$name", "$antwort", "$datum", "$zeit")");
Zu guter vorletzt: es empfiehlt sich als Debugging-Technik seine Statements nicht direkt im mysql_query aufzubauen:
$query = "SELECT ...";
mysql_query($query);
Mit dieser Schreibweise kannst du schneller eine Debugausgabe des Statements erzwingen, z.B. sogar über eine Konfigurationseinstellung:
$query = "SELECT ...";
// es wird eine Konfigurationskonstante DEBUG vorausgesetzt...
if (DEBUG) {
echo $query;
}
mysql_query($query);
Und zu aller letzt: Ich hab mehrfach SQL-Injection in den Mund genommen, die Nutzung von mysqli zusammen mit Prepared Statements kann dir einiges an Escaping ersparen.
MfG
Rouven
-------------------
sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
Don't lick your wounds: celebrate them. The scars you bear are the signs of a competitor. -- character Richard Webber on Grey's Anatomy: 'Where the wild things are'