![]() |
[SQL + PHP] Wieso stimmt diese Query nicht?
Hallo!
Ich verzweifle grade an einer MySQL-Query, die ich in PHP erstelle:
Code:
Wenn ich die Query ausgebe, sieht das so aus:
$query = 'INSERT INTO "voting" ("ID","IP","Name","Kommentar","Voting") ' .
'VALUES("' . $_POST['ID'] . '", "0", "' . $_POST['Name'] . '", "' . $Kommentar . '", "' . $_POST['Voting'] . '")';
SQL-Code:
Und wenn ich das ganze dann mit mysql_query ausführe, kommt das:
INSERT INTO "loewenzahnvoting" ("ID","IP","Name","Kommentar","Voting") VALUES("1", "0", "Test", "Testkommentar", "1")
Zitat:
Danke im Voraus, Fred |
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: |
Re: [SQL + PHP] Wieso stimmt diese Query nicht?
Versuche doch mal alle Anführungszeichen wegzulassen.
Oops, Siman war schneller. |
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: |
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`)
|
Re: [SQL + PHP] Wieso stimmt diese Query nicht?
Zitat:
|
Re: [SQL + PHP] Wieso stimmt diese Query nicht?
Zitat:
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) |
Re: [SQL + PHP] Wieso stimmt diese Query nicht?
Zitat:
|
Re: [SQL + PHP] Wieso stimmt diese Query nicht?
Ich muss keine Anführungszeichen machen. :mrgreen:
|
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 22:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz