mysql - lustig Platz Zeichen auf den Wert hinzugefügt, wenn es in der Tabelle einfügen

StackOverflow https://stackoverflow.com/questions/2829626

  •  26-09-2019
  •  | 
  •  

Frage

Ich habe einen PHP-Skript, dass Einsätze Werte in mySQL Tabelle

INSERT INTO stories (title) VALUES('$_REQUEST[title]);

überprüfte ich die Werte meiner Anfrage Variablen, bevor sie in der Tabelle gehen und es ist in Ordnung.

Aber wenn ich Titel hinzufügen = john auf die Tabelle zum Beispiel

ich etwas wie folgt aus: title = "[][][][]john" und wenn ich den Wert extrahieren, es ist ein Newline dann John.

Ich habe meine Spalten auf utf-8, habe ich versucht, schwedisch-Zeichensatz als auch.

Hinweis: Ich habe nicht diesen Fehler, wenn Werte aus dem Einfügen von phpMyAdmin Kommandozeilen

War es hilfreich?

Lösung

Sie müssen alle Array-Notation {} um, wenn innerhalb "" verwendet.

$q="INSERT INTO stories(title) VALUES('{$_REQUEST['title']}')";

BTW, es wäre besser, wenn die Überprüfung Ihres $ _REQUEST Vars zu speichern die hygienisiert Versionen in neuen Variablen, und sicher zu sein, sie mit zu entkommen? real_escape_string()

Andere Tipps

SET NAMES <encoding> Abfrage muss jedes Mal, wenn Sie Verbindung zu Ihrer Datenbank ausgeführt werden.
sehr einfache Regel.

wo <encoding> ist Ihre HTML-Seite Codierung in mysql Dialekt (utf8 für das utf-8)

Sie müssen den Zeichensatz der Datenbank überprüfen, den Server und den Client.

Beachten Sie, dass es nicht ein schwedisch-Zeichensatz, es ist eine schwedische Sortierung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top