PHPを使用して、SQLクエリーのwhereステートメントからフィールド名と値を取り出し、それらを変更して元に戻す必要があります。PHPを使用したSQLの解釈
だから、私はこの文字列が与えられていると言って:field='value' AND field2<7
フィールドとフィールド2をフィールド名として認識し、次に関数field()
をフィードして、それらをクエリに戻す必要があります。 '値'と7のものと同じですが、value()
関数を使用してフィードします。また、各値がどのフィールドに関連付けられているかを知るのに役立ちます。
コードを作成するのに数千行かかることはありませんか?
私はそれはのようなものなど、さまざまな可能な入力、たくさんの仕事をする必要があります:私は、オープンソースとかなり良いですphp-sql-parserプロジェクトを使用しましたtable.field BETWEEN 7 AND 10
またはfield<7 AND (field2=3 OR field3=4)
再利用可能なものが必要ですか、それとも文字列の置き換えだけで修正できますか? – acme
コンテキストとは何ですか?ドメインが限定されている場合は、正規表現を使用できます。任意のクエリで作業する必要がある場合は、SQLパーサーを使用する必要があります。 – Matthew
文字列の置き換えを行うことができれば多種多様な入力を処理する必要がありますが、文字列の置き換えより複雑な処理が可能です。 –