Ich machte ein einfaches Nachrichtensystem mit Kommentaren mit PHP und MySQL, und es funktionierte großartig auf meinem lokalen Apache-Server, sowohl auf meinem Fedora 10, als auch auf meinem Windows 7 ein Problem, obwohl ich es auf einen Web-Host hochgeladen und es alle "und" as \ 'und \ "zurückgibt.
Ich glaube, das ist entweder der Web-Host, der durch automatische fügt sie aus Sicherheitsgründen oder dass die MySQL Sortierungs ist der falsche, aber ich habe nicht in der Lage gewesen, es noch zu lösen, mehrere MySQL-Sortierungen testen
Hier ist ein Beispiel für eine Abfrage ist.MySQL/PHP Problem mit "und '
mysql_query("INSERT INTO news (title, poster, text, time) VALUES ('$newstitle', '1', '$newstext', '$time')") or die(mysql_error());
$time
ist time();
$newstitle
und $newstext
aus $_POST
analysiert und beide laufen durch mysql_real_escape_string()
, bevor ich die Abfrage ausführen (Ich denke, das könnte das Problem sein, aber da es ein Teil der Sicherheit ist, ich will nur nicht, es entfernen , und da es auf meinen lokalen Servern keine Probleme verursachte)
Als letzte Anmerkung: Auf meinen lokalen Apache-Servern hatte ich latin1_swedish_ci
, die auf dem Webhosts-Server nicht funktionierte.
EDIT:
Sie sehen aus wie diese in der Datenbank:
\'\'\'\"\"\"
Während auf meinen lokal diejenigen, die sie nicht über die zusätzliche Backslash, so dass es die PHP es hinzugefügt werden muss. Gibt es eine Möglichkeit, dies zu lösen, außer eine Funktion hinzuzufügen, die zusätzliche Backslashes entfernt?
Ich glaube, ich habe es schon getan: P Oder habe ich es falsch gemacht? – user106546
Wie ich in dem Kommentar zu meiner eigenen Antwort gesagt habe, wäre es besser, wenn Sie sich für Gumbos Antwort entschieden hätten, da er als erster die * richtige * Lösung gefunden hat, anstatt eine 'nicht-wirklich-Lösung' 'Lösung;) –