Django의 LIKE 연산.
P粉425119739
P粉425119739 2023-08-02 15:55:17
0
1
410

Django의 Python을 통해 쿼리를 보내려고 하며, SQL 삽입 공격도 방지하려고 합니다.

메시지가 어떻게 작동하는지 설명해 주실 수 있나요? 예를 들어 LIKE 쿼리의 예입니다.


"SELECT * FROM admin WHERE name LIKE '%myTitle%'

이와 같은 쿼리를 구성하는 것은 쉽습니다.

cursor.execute("SELECT * FROM admin WHERE name= %s", (_id, ));

그러나 예를 들어 %s를 삽입할 때 텍스트의 %%를 취소하면 실수하기 쉽습니다.

SELECT * FROM admin WHERE name LIKE %s

쿼리가 완료되면 다음과 같이 표시됩니다.

SELECT * FROM admin WHERE name 'MyTitle'

올바르게 구현되고 있지만 %%를 %s와 LIKE 사이에 설정하고 싶습니다.

SELECT * FROM admin WHERE name '%MyTitle%'

이 문제를 해결하는 방법을 설명해 주실 수 있나요?

내 간단한 스크립트는 다음과 같습니다.


django.db에서 가져오기 연결 제목 = "내 제목" query = "SELECT * FROM admin WHERE 이름 LIKE %s" Connection.cursor()를 커서로 사용: cursor.execute(query, (제목,))


P粉425119739
P粉425119739

모든 응답 (1)
P粉293550575

이 페이지를 확인해주세요.

Django ORM 쿼리에서 SQL 'LIKE'에 해당하는 것은 무엇입니까?

이것이 Django의 ORM 방식입니다.

https://docs.djangoproject.com/en/4.2/topics/db/sql/

이것이 Django가 원시 쿼리를 처리하는 방법입니다.

으아악

당신이 보여주고 있는 것은 Django 코드가 아니라 순수한 Python-MySQL 코드입니다.

Python-MySQL을 사용하면 이전과 같은 방식으로 작업을 수행할 수 있으며 견적 및 삽입 문제를 처리합니다.

하지만 그래야 합니다.


으아악

title_like는 퍼지 일치 문자열입니다.

%

을 포함하는 문자열과 같은 mysql
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!