2012-07-28 3 views
0

파이썬의 cgi.escape() 함수는 따옴표 나 아포스트로피를 이스케이프하지 않는다는 것이 알려져있다. Python MySQLdb API에 대해서도 같은 말을 할 수 있습니까? 아래의 경우 O'Reilly의 아포스트로피가 데이터베이스 입력시 이스케이프되었습니다.파이썬 mysql api 아포스트로피

lastname = O'Reilly 
cursor.execute ('INSERT INTO table_name (surname) VALUES (%s)', (lastname,)) 

고마워요!

답변

-1

예 (답변은 30 자 이상이어야합니다.

+0

나는 당신의 답변을 매우 좋아합니다! 문서를 제안 할 수 있을까요? 나는 그 웹을 샅샅이 뒤 졌다고 믿는다. 그러나 내가 놓친 것을 발견했을 것이다. 감사! – Rob

+0

나는 15 년 동안 데이터베이스 접근을 해왔다. 그래서 이것은 경험에 기인한다. 모든 데이터베이스 라이브러리가 작동하는 방식이다. execute() 호출에서 당신이하는 일은 마커 (% s ')를 매개 변수에 추가하십시오. 적어도 개념적으로는 이스케이프가 필요하지 않습니다. MySQLdb 라이브러리가 후드에서 수행하는 것을 무시해야합니다 ...) – thebjorn

+0

하하하, 내 문제 야. 파이썬이 데이터 위생에 관해서 무엇을하는지 알고 싶습니다. 당신은 O'Reilly가 O가된다고 말하고 있습니다. "Reilly 또는 O \\\ 'Reilly 또는 db 테이블로 연결되는 경로가 있습니까? 그렇다면 html 문서에서 사용하기 위해 해당 데이터를 호출하면 더 이상 이스케이프 처리하지 않습니다. 몇 년 동안 코딩을 해본 적이 있는데 파이썬 문서를 본 적이 있습니까? 답변을 주셔서 감사합니다. – Rob