Hochkomma in MySQL Tabelle
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
benutzen
benutzung
code
datenbank
eintragen
gegenstand
http
mache
manual
problem
set
spitzname
statement
string
tabelle
update
url
variable name
versuchen
vorbereitung
-
Hallo,
ich versuche momentan ein Hochkomma in eine MySQL Tabelle einzutragen. Das klappt allerdings nicht.
Das soll z.B. in die Tabelle eingetragen werden:
Tim's neuer Fußball
Hier ist der Code den ich normalerweise benutze, um etwas in einer Tabelle zu ändern:
$aendern = $mysqli->query("UPDATE tabellenname SET name='$name' WHERE x='$x';");
In der Variable Name steht dann z.B. das:
$spitzname = "Tim"; $name = "$spitzname's neuer $gegenstand";
Allerdings wird die Variable Name nicht in die Tabelle eingetragen. Wenn ich das Hochkomma weg mache klappt es. Wie muss ich es also machen, damit ich auch das Hochkomma eintragen kann?
Liebe Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
2 Möglichkeiten
1) Selber escapen:$spitzname = 'Tim'; $name = "$spitzname\\'s neuer $gegenstand";
2) Escapen lassen:$spitzname = 'Tim'; $name = $mysqli->real_escape_string("$spitzname's neuer $gegenstand");
Beitrag zuletzt geändert: 7.1.2013 16:41:53 von hackyourlife -
Das Problem könnte auch mit Prepared Statements gelöst werden. Hier übernimmt PHP automatisch die Vorbereitung des Strings, um ihn im SQL zu benutzen. Nebenbei ist die Benutzung von Prepared Statements sicherer, vor allem wenn man User-Generated-Content direkt in die Datenbank eintragen möchte.
http://php.net/manual/de/pdo.prepared-statements.php -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage