shordy_: Kontextwechsel - Sichere queries in SQLite3

Beitrag lesen

Hier habe ich dann von der nativen Funktion escapeString gelesen. Die ist jetzt so nett und macht aus ' ein ". Und was, wenn der User jetzt Lil' John heisst?

HA!

Die Funktion macht _nicht_ aus ' ein ". Es sind zwei ' in kurzem Abstand. Das habe ich in dieser Ansicht nicht bemerkt. Sorry.

Allerdings: was soll daran jetzt sicher sein?

Zur Erklärung:
der query für die Funktion wird gebastelt aus zwei Arrays $keys und $vals:

  
$query_keys = " (".implode(",", $keys).")";  
$query_vals = " VALUES(".implode(" , ", $vals).")";  
$query = "INSERT INTO '$table'".$query_keys.$query_vals;

Die Funktion escapeString wird _vorher_, beim Bau der Arrays auf alle Elemente angewendet, um die ', die ja auch im Query vorkommen, zu maskieren.