2017-01-05 1 views
0

Wenn dynamisch Aufbau von SQL-Abfragen Sie oft so etwas wie dies sehen:Trick, wenn dynamisch GET anhängt Attribut

WHEN 1=1 AND title="Example" AND ... 

Der Zweck der 1 = 1 ist in der Lage sein zu halten anhängen UND-Anweisungen ohne wenn zu überprüfen, die irgendwelche früheren Aussagen existieren. Dadurch vermeidet so etwas wie dies geschieht:

WHEN AND title="Example" AND ... 

ich ziemlich oft über ein damit verbundenes Problem kommen, wenn der Aufbau den die Attribute/search-Abfrage für eine GET-Anfrage. Ich möchte nicht überprüfen, ob ich das Attribut mit '?' oder '&'.

Also meine Frage ist, gibt es irgendeine 'sichere' Möglichkeit für mich, ein Anfangsattribut hinzuzufügen, das keine potentielle Software auf der Serverseite stören wird. Vorausgesetzt, ich habe keine vollständigen Kenntnisse über das Backend. Etwas wie:

http://example.com?1=1&title=example 
http://example.com?null&title=example 
http://example.com?i-am-useless&title=example 

Oder dies erlaubt ist?

http://example.com?&title=example 

Gibt es vielleicht einen einfacheren Weg, dies zu lösen?

Antwort

0

Stellen Sie sicher, dass die URI-Zeichenfolge, der Sie Parameter hinzufügen möchten, bereits in einem '?' Endet. Fügen Sie dann für jedes Schlüssel/Wert-Paar "Schlüssel = Wert &" hinzu. Optional können Sie dann am Ende das letzte Zeichen aus der resultierenden Zeichenkette löschen. - Reddit Benutzer omepiet