2016-04-11 6 views
2

Ich habe eine relativ einfache Frage.Speichern von Kommentaren und Sonderzeichen oder RTF in MySQL

Ich entwerfe ein Kommentierungssystem, das über PHP -> mysql funktioniert, und wenn ich einen Kommentar mit einem Sonderzeichen einreiche, z. ein Anführungszeichen ['] ... es verschraubt die Abfrage.

Offensichtlich muss ich diese Streifen entfernen, um Injektion und whatnot zu verhindern, aber was ist der einfachste Weg, hin und her zwischen Anführungsstriche und andere Sonderzeichen wie Zeilenumbrüche in eine Datenbank zu analysieren und dann zu analysieren, so dass es so angezeigt wird wurde ursprünglich geschrieben? I.e. Ich kann einen Absatz ein paar Zeilen nach unten setzen.

.

Hier unten. Die Datenbank speichert diese zusätzlichen Zeilenumbrüche. Sind dafür PHP-Parser eingebaut oder muss ich einen irgendwie schreiben?

Antwort

0

Die PHP-Erweiterung PDO tut dies gut, ich habe wieder gemacht PDO und machte es viel einfacher zu verwenden, weil es irgendwie komplex sein kann, aber Tutorials gefunden werden können und ich lernte alles an einem Tag oder so.

Wenn Sie mit PDO beginnen möchten Sie wollen, eine Verbindung herzustellen, wie so:

$handler = new PDO("mysql:host=HOST;dbname=DATABASE_NAME", DATABASE_USERNAME, DATABASE_PASSWORD); 

Und das, kann der HOST Beispiel sein localhost, ist DATABASE_NAME offensichtlich, Benutzername und Passwort Ich bin sicher, dass du es herausfinden kannst!

Wenn Sie eine Abfrage von einem $_GET[''] Array verwenden möchten, können Sie dies tun das, indem Sie folgende:

$query = $handler->prepare("INSERT INTO users (username, password) VALUES (:user, :pass); 
$query->execute(array( 
    ':user' => $_GET['username'], 
    ':pass' => $_GET['password'] 
)); 

Was hier passiert, ist der Benutzername und das Passwort sicher auf die Abfrage gegeben, und dann ausgeführt in die $query->execute Aussage; Egal, ob es eine ' oder eine " in der URL gibt.

Wenn Sie mehr über die PDO-Bibliothek lesen, sehen here

+0

Awesome, ich werde es überprüfen. Ich habe gezögert, PDO zu lernen, aber jeder scheint zu denken, dass es besser ist als Mysqli. – Vranvs

+0

Es ist muuuuuuuuuuuuuuuch besser als MySQLi, ehrlich gesagt bekomme ich nicht, wie jemand es immer noch lernt, weil es alles viel einfacher macht, es gibt gute YouTube Tutorials und es ist wirklich einfach. Hoffe ich half @Vranvs – Jek

+0

** Hinweis ** - Es gibt Sanitisierung Methoden für MySQLi, aber nicht sicher, was sie sind, könnten Sie wahrscheinlich nachschlagen. – Jek

Verwandte Themen