<p>Django の Python を介してクエリを送信しようとしています。また、SQL インジェクション攻撃を防止しようとしています。 <br /><br />誰かがメッセージングがどのように機(jī)能するかを説明できますか?たとえば、LIKE クエリの例です。 </p>
<pre class="brush:php;toolbar:false;">"SELECT * FROM admin WHERE name LIKE '%myTitle%'</pre>
<p>このようなクエリを構(gòu)成するのは簡(jiǎn)単です。 </p>
<p><code>cursor.execute("SELECT * FROM admin WHERE name= %s", (_id, ))</code>;</p>
<p>ただし、%s を挿入する場(chǎng)合など、テキスト內(nèi)の %% を取り消してしまうなど、間違いを犯しやすくなります。 </p>
<pre class="brush:php;toolbar:false;">SELECT * FROM admin WHERE name LIKE %s</pre>
<p>クエリが完了すると、次のようになります。 </p>
<pre class="brush:php;toolbar:false;">SELECT * FROM admin WHERE name 'MyTitle'</pre>
<p>正しく実裝されていますが、%sとLIKEの間に%%を設(shè)定したいと考えています。 </p>
<pre class="brush:php;toolbar:false;">SELECT * FROM admin WHERE name '%MyTitle%'</pre>
<p>誰かこの問題の解決方法を説明してもらえますか? <br /><br />私の簡(jiǎn)単なスクリプトは次のとおりです。</p><p><br /></p>
<pre class="brush:php;toolbar:false;">django.db インポート接続から
title = "私のタイトル"
クエリ = "SELECT * FROM admin WHERE name LIKE %s"
connection.cursor() をカーソルとして使用:
カーソル.実行(クエ??リ, (タイトル,))</pre>
<p><br /></p>