Autor |
Nachricht |
slein
Threadersteller
Dabei seit: 02.10.2002
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Di 14.09.2004 17:52
Titel Apostroph in php/MySQL |
|
|
Hey Leutz,
hab ein Eingabefeld für Text, den ich in einer MySQL-Tabelle speicher.
WENN allerdings der Text ein Apostroph, also solch ein Zeichen ---> ' enthält, schreibt er den Text NICHT rein
Die MySQL Zelle ist vom Typ her ein "MEDIUMTEXT" -liegt es vielleicht daran?
Hiiiilllfffeeeee !
Danke!
der die das sleiN
|
|
|
|
|
13pixelchen
Account gelöscht
Ort: -
|
Verfasst Di 14.09.2004 18:11
Titel
|
|
|
Du hast eine SQL Injection Sicherheitslücke gemacht. Versuchs mit html_entities und mysql_escape_string oder so ähnlich.
|
|
|
|
|
Anzeige
|
|
|
donnerchen
Dabei seit: 06.04.2003
Ort: -
Alter: 53
Geschlecht:
|
Verfasst Di 14.09.2004 19:15
Titel
|
|
|
Wenn Du einen Text insertest, dann werden die Textblöcke von einfachen Anführungszeichen eingeschlossen, also z.B.
INSERT INTO tabelle VALUES ('Paul','Maier');
Würde der Text nun ein einfaches Anführungszeichen enthalten kommt MySQL natürlich durcheinander. Also, Du kannst das Apostroph entweder mit einem Backslash entwerten oder Du nimmst - wenn das ganze denn in eine Webseite soll - ein '. Kannst Du halt auch automatisch von html_entities() oder html_special_chars() machen lassen
*wink*
Carsten
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Do 16.09.2004 10:11
Titel
|
|
|
ich würde in jedem fall mysql_escape_string() auf _alle_ usereingaben anwenden, die du weiterverarbeiten willst. 13pix hat es ja bereits gesagt, ansonsten besteht die gefahr einer möglichen sql-injection.
und ansonsten würde ich wohl mit addslashes() (und später stripslashes) arbeiten. dadurch werden single- und double-quotes, backslahes und NUL escaped.
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst So 25.03.2007 17:19
Titel
|
|
|
ich würde mich mal in diesem Thema schlau machen:
SQL Injection - das ist eine böse Sicherheitslücke
Gruß Ewido
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 25.03.2007 19:08
Titel
|
|
|
Code: | Verfasst Di 14.09.2004 18:52 |
Wieso schaffen das einige doch immer wieder solche Thread Leichen
auszugraben?
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
|
|
|
|
magicslider
Dabei seit: 04.02.2007
Ort: WW
Alter: -
Geschlecht:
|
Verfasst Di 27.03.2007 20:22
Titel
|
|
|
hi,
klar geht das:
Code: |
<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
echo stripslashes($escaped_item);
?>
|
|
|
|
|
|
|
|
|
Ähnliche Themen |
[PHP + mySQL] Kann Fehler in einer mySQL-Phrase nicht finden
[PHP/MySQL] MySQL Error: 1054, falsche Tabelle ausgewählt?
[MySql]Lost connection to MySQL server during query
[php / mysql] Mysql Daten in php als Link ausgeben
(php-mysql) übergabe von formulardaten und abfrage m. mysql
BLOB in mysql per php oder mysql einfügen
|
|