Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Problem mit SQL Abfrage (https://www.delphipraxis.net/148568-problem-mit-sql-abfrage.html)

SimStar001 4. Mär 2010 10:39

Datenbank: MYSQL • Version: 5 • Zugriff über: PHP

Problem mit SQL Abfrage
 
Hallo,

ich habe mit folgender Abfrage ein Problem:

SQL-Code:
$anfrage="INSERT INTO backend_bugliste VALUES ('0','".time()."','0','".$_POST['UserID']."','".$_POST['MelderName']."','".$_POST['Tool']."','".$_POST['Beschreibung']."','".$_POST['Bemerkung']."',tool_updatedata.Version) WHERE tool_updatedata.Tool = '".$_POST['Tool']."'";

Und zwar wird folgende Fehlermeldung herausgegeben:

#1064 - 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 'WHERE tool_updatedata.Tool = 'EC3'' at line 1


Was mache ich falsch?

jfheins 4. Mär 2010 11:03

Re: Problem mit SQL Abfrage
 
Seit wann hat ein Insert-Statement eine where-Klausel?

SimStar001 4. Mär 2010 11:07

Re: Problem mit SQL Abfrage
 
Ja keine Ahnung, ich will halt beim Einfügen noch aus einer anderen Tabelle eine Versionsnummer mit eintragen.
Geht das überhaupt beim Insert, oder muss ich dann ne zweite Abfrage machen?

DeddyH 4. Mär 2010 11:09

Re: Problem mit SQL Abfrage
 
Das geht.
SQL-Code:
INSERT INTO Tabelle(bla, blubb)
VALUES('Wuppdi',(SELECT Dings FROM AndereTabelle WHERE ID = 1))

SimStar001 4. Mär 2010 11:19

Re: Problem mit SQL Abfrage
 
Vielen Dank für die Hilfe... klappt jetzt so wie gewünscht!

Hier mal die Lösung für meinen Fall:
SQL-Code:
$anfrage = "INSERT INTO backend_bugliste VALUES ('0','".time()."','0','".$_POST['UserID']."','".$_POST['MelderName']."','".$_POST['Tool']."','".$_POST['Beschreibung']."','".$_POST['Bemerkung']."',(SELECT Version FROM tool_updatedata WHERE Tool = '".$_POST['Tool']."'))"

DeddyH 4. Mär 2010 12:16

Re: Problem mit SQL Abfrage
 
Das hat jetzt zwar mit Deinem Problem nichts zu tun, aber Du solltest POST-Daten nicht einfach ungeprüft in die DB schreiben. Zumindest ein mysql_real_escape() sollte da drumherumstehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz