1

私はPHPに少し慣れていて、小さな問題があり、助けてもらいたいと思っています。ファイルで次のクエリを使用しており、最後に並べ替え順序を追加したいと考えています。クエリの最後の部分をエスケープして、クエリが並べ替え順序を受け入れるようにする方法がわかりません。

$queryPro = "select * from pages WHERE MenuType='S' AND Activate='Y' AND SiteID='4000' AND SubMenuOf=".$rowCat["PageNumber"];

私が使いたいのは

$queryPro = "select * from pages WHERE MenuType='S' AND Activate='Y' AND SiteID='4000' AND SubMenuOf=".$rowCat["PageNumber"] Order By SortOrder ASC;

しかし、これはエラーを引き起こします。

どんな助けでも大歓迎です。

ありがとうございます

4

1 に答える 1

2

ORDER BY...構文エラーの原因となる文字列に を含めなかった、

$queryPro = "select...AND SubMenuOf=".$rowCat["PageNumber"] . " Order By SortOrder ASC";

補足として、変数のSQL Injection値が外部から取得された場合、クエリは脆弱です。予防方法については、以下の記事をご覧ください。を使用すると、値を一重引用符で囲む必要がなくなります。PreparedStatements

于 2013-06-01T18:38:00.257 に答える