Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [SQL + PHP] Wieso stimmt diese Query nicht? (https://www.delphipraxis.net/52391-%5Bsql-php%5D-wieso-stimmt-diese-query-nicht.html)

fred.reichbier 29. Aug 2005 13:40


[SQL + PHP] Wieso stimmt diese Query nicht?
 
Hallo!

Ich verzweifle grade an einer MySQL-Query, die ich in PHP erstelle:

Code:
$query = 'INSERT INTO "voting" ("ID","IP","Name","Kommentar","Voting") ' .
            'VALUES("' . $_POST['ID'] . '", "0", "' . $_POST['Name'] . '", "' . $Kommentar . '", "' . $_POST['Voting'] . '")';
Wenn ich die Query ausgebe, sieht das so aus:

SQL-Code:
INSERT INTO "loewenzahnvoting" ("ID","IP","Name","Kommentar","Voting") VALUES("1", "0", "Test", "Testkommentar", "1")
Und wenn ich das ganze dann mit mysql_query ausführe, kommt das:
Zitat:

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 '"voting" ("ID","IP","Name","Kommentar","Voting") VALU
Was mache ich da falsch?

Danke im Voraus,

Fred

S2B 29. Aug 2005 13:43

Re: [SQL + PHP] Wieso stimmt diese Query nicht?
 
Warum schreibst du denn die Anführungszeichen um den Namen der Tabelle und die Namen der Spalten? Ich könnte mir vorstellen, dass MySQL damit Probleme haben könnte. :wink:

Edit: @r_kerber: mit o. :stupid:

r_kerber 29. Aug 2005 13:45

Re: [SQL + PHP] Wieso stimmt diese Query nicht?
 
Versuche doch mal alle Anführungszeichen wegzulassen.

Oops, Siman war schneller.

fred.reichbier 29. Aug 2005 13:50

Re: [SQL + PHP] Wieso stimmt diese Query nicht?
 
Danke, funktioniert!
Da stand ich aber mächtig aufm Schlauch...
Wieso hab ich die Anführungsstriche da eigentlich hingemacht? :wall:

Flocke 29. Aug 2005 14:19

Re: [SQL + PHP] Wieso stimmt diese Query nicht?
 
Wenn du unbedingt Anführungszeichen machen musst (z.B. bei Leerzeichen in den Feldnamen), dann nimm für MySQL Backticks (Shift + das Apostroph rechts neben ß).
Code:
INSERT INTO `loewenzahnvoting` (`ID`,`IP`,`Name`,`Kommentar`,`Voting`)

r_kerber 29. Aug 2005 14:21

Re: [SQL + PHP] Wieso stimmt diese Query nicht?
 
Zitat:

Zitat von Flocke
Wenn du unbedingt Anführungszeichen machen musst (z.B. bei Leerzeichen in den Feldnamen), dann nimm für MySQL Backticks (Shift + das Apostroph rechts neben ß).

Das würde ich nicht tun, weil damit die Kompatibilität zu anderen Datenbanken verloren geht!

Flocke 29. Aug 2005 14:25

Re: [SQL + PHP] Wieso stimmt diese Query nicht?
 
Zitat:

Zitat von r_kerber
Zitat:

Zitat von Flocke
Wenn du unbedingt Anführungszeichen machen musst (z.B. bei Leerzeichen in den Feldnamen), dann nimm für MySQL Backticks (Shift + das Apostroph rechts neben ß).

Das würde ich nicht tun, weil damit die Kompatibilität zu anderen Datenbanken verloren geht!

Sicher, andere Datenbanken können damit wenig anfangen.

Aber was soll er denn tun, wenn er Anführungszeichen machen muss? (ich habe das ja auch speziell auf MySQL eingeschränkt!)

(Sicher: die Felder so definieren, dass man keine braucht - aber manchmal kann man sich das nicht aussuchen, da man die Datenbank nicht selbst entworfen hat)

r_kerber 29. Aug 2005 14:30

Re: [SQL + PHP] Wieso stimmt diese Query nicht?
 
Zitat:

Zitat von Flocke
Aber was soll er denn tun, wenn er Anführungszeichen machen muss?

Muß er ja nicht. Selbst die Admin-Tools von MySQL bieten an, SQL-Statements mit oder ohne diese merkwürdigen Striche zu erstellen. Und verarbeiten kann MySQL das sowieso auch ohne...

fred.reichbier 29. Aug 2005 14:31

Re: [SQL + PHP] Wieso stimmt diese Query nicht?
 
Ich muss keine Anführungszeichen machen. :mrgreen:

TillWe 29. Aug 2005 15:35

Re: [SQL + PHP] Wieso stimmt diese Query nicht?
 
Abgesehen vom Problem:
Schreibe

$bla = mysql_real_escape_string($_POST['bla']);

Und $bla in die Datenbank und nicht $_POST['bla'] .

Das unterbindet MySQL-Injektion.



mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr.
Seite 1 von 2  1 2      

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