AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [SQL + PHP] Wieso stimmt diese Query nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL + PHP] Wieso stimmt diese Query nicht?

Ein Thema von fred.reichbier · begonnen am 29. Aug 2005 · letzter Beitrag vom 29. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von fred.reichbier
fred.reichbier

Registriert seit: 27. Apr 2004
154 Beiträge
 
#1

[SQL + PHP] Wieso stimmt diese Query nicht?

  Alt 29. Aug 2005, 13:40
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:

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
Friedrich Weber
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#2

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

  Alt 29. Aug 2005, 13:43
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.

Edit: @r_kerber: mit o.
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#3

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

  Alt 29. Aug 2005, 13:45
Versuche doch mal alle Anführungszeichen wegzulassen.

Oops, Siman war schneller.
  Mit Zitat antworten Zitat
Benutzerbild von fred.reichbier
fred.reichbier

Registriert seit: 27. Apr 2004
154 Beiträge
 
#4

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

  Alt 29. Aug 2005, 13:50
Danke, funktioniert!
Da stand ich aber mächtig aufm Schlauch...
Wieso hab ich die Anführungsstriche da eigentlich hingemacht?
Friedrich Weber
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

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

  Alt 29. Aug 2005, 14:19
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`)
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#6

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

  Alt 29. Aug 2005, 14:21
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!
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

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

  Alt 29. Aug 2005, 14:25
Zitat von r_kerber:
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)
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#8

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

  Alt 29. Aug 2005, 14:30
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...
  Mit Zitat antworten Zitat
Benutzerbild von fred.reichbier
fred.reichbier

Registriert seit: 27. Apr 2004
154 Beiträge
 
#9

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

  Alt 29. Aug 2005, 14:31
Ich muss keine Anführungszeichen machen.
Friedrich Weber
  Mit Zitat antworten Zitat
TillWe

Registriert seit: 20. Apr 2005
26 Beiträge
 
#10

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

  Alt 29. Aug 2005, 15:35
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 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