Opened 7 years ago

Closed 7 years ago

#1501 closed defect (fixed)

Keine Variablenbindung und Aufbereitung von SQL-Abfragen

Reported by: thomas.daeppen Owned by: comvation
Priority: must Milestone: Contrexx 3.0 SP5
Component: Core Version: 3.0.4
Severity: normal Keywords:
Cc:

Description

Bei SQL-Abfragen darf keine Variablenbindung (binding variables) und Aufbereitung von SQL-Abfragen (prepare()) angewendet werden, da die Syntax nicht Plattformunabhängig ist, sondern vom eingesetzten DB-Treiber abhängt. Beispiel:

SELECT `name` FROM `foo` WHERE `id` = ?

Die bestehenden Code-Segmente, welche diese Art von SQL-Abfragen einsetzen müssen somit umgeschrieben werden. In einem ersten Schritt kann auch nur die Kompatibilität mit dem neu eingesetzten PDO Treiber wiederhergestellt werden. Dazu darf der Platzhalter ? in der Abfrage nicht mit einfachen Anführungszeichen umschlossen sein. Mit dem folgenden Befehl können diese Abfragen ausfindig gemacht werden:

grep -r --color -F "'?'" . --exclude '*.html' --exclude '*.js'

Change History (2)

comment:1 Changed 7 years ago by kramer

Neuer Regex zum Suchen von solchen Vorkommnissen:

(Execute|SelectLimit)\((.*)\?(.*)\)

comment:2 Changed 7 years ago by kramer

  • Resolution set to fixed
  • Status changed from new to closed

(In https://github.com/Cloudrexx/cloudrexx/commit/7d9c2c81ef8aefad9eca0be4c8ef8022ad214bd7) Merged revision(s) 25792 from trunk: contrexx (fixed #1501): no variable bindings for database queries

Note: See TracTickets for help on using tickets.