Login mit Session

Aus diesem Grund maskiere ich entweder die " -> \" oder ich benutze gleich dies hier '. ;)
Aber wo genau liegt eigentlich der Unterschied zwischen " und '?
 
Der Unterschied liegt in der PHP-internen Verarbeitung der Zeichenkette. Mit doppelten Anführungszeichen ausgezeichnete Zeichenketten werden zusätzlich nach Vorkommen von Variablen und Escape-Sequenzen (\n, \t, \r, etc.) durchsucht und entsprechend ersetzt. Bei einfachen Anführungszeichen wird dies nicht gemacht. Für SQL-Injektionen ist das allerdings egal, da diese im SQL-Kontext stattfinden.
 
Und das heißt nun?^^

Ist es sicherer diese hier zu benutzen -> '?

Denn mir ist aufgefallen das ich beides nutzen kann und daher keine Nachteile bislang feststellen konnte.
Bei Variablen benutze ich dann immer dies oder dies:

PHP:
"Text ".$variable." Text";

'Text '.variable.' Text';
 
Bei SQL-Injektionen macht es keinen unterschied, ob du in PHP einfache oder doppelte Anführungszeichen verwendest. Denn SQL-Injektionen finden auf der SQL-Zeichenketten-Ebene statt und nicht auf der PHP-Zeichenketten-Ebene.
Verwende bei Benutzereingaben, die in einer MySQL-Abfrage benutzt werden sollen, einfach die mysql_real_escape_string()-Funktion und fertig.
 
Zurück