Hello,
Die Frage ist also, warum darf ich keine einfachen Anführungszeichen benutzen, bzw. muss ich wirklich jedesmal Mal, beim Erzeugen eines Query-String, manuell das noch escapen, damit ich dann "sqlite_escape_string" nutzen kann?
nein, aber du hast die Funktion des Escapens falsch verstanden. Das Escaping wird auf Werte angewendet, die potenziell störende/gefährliche Seiteneffekte haben können. Die Maskierung sorgt dafür, dass die Datenbank den jeweiligen Wert als genau das ansieht: einen Wert, nicht einen Befehl.
Du sollst also NICHT das gesamte SQL-Statement maskieren (denn dadurch verliert es die Eigenschaft ein SQL-Statement zu sein), sondern die Variablen, die du dort hineinpackst. Dadurch ist sichergestellt, dass der _Inhalt_ der Variablen, nicht den Rest deines SQL-Statements zerstört.
MfG
Rouven
-------------------
sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
Vegetarier essen meinem Essen das Essen weg.