반응형
mysql-client를 사용하여 따옴표 '를 mariaDB에 삽입하는 방법은?
mariaDB(Ver 15.1 Distribution 10.0.17-MariaDB, osx10.10(x86_64)용) 및mysqlclient==1.3.6
.
저는 단지 varchar 필드에 문자열을 삽입하고 싶습니다.
import MySQLdb
import json
conn = MySQLdb.connect(
host='localhost',
port=3306,
user='root',
passwd='',
db='ng')
cur = conn.cursor()
cur.execute(INSERT INTO `current_table` (`id`, `name`) VALUES (NULL, '{name}');".format(name="Lily' dog"))
conn.commit()
하지만 항상 이런 오류가 있었습니다.
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 's dog', NULL)' at line 1")
mysql-client로 따옴표를 삽입하려면 어떻게 해야 합니까?
Amadan의 의견에 따르면 bobby-table(SQL 주입 방지 사이트)에서 다음과 같이 제안합니다.
Python DB API를 사용하여 다음 작업을 수행하지 않습니다.
이런 식으로 하지 마십시오.
cmd = "update people set name='%s' where id='%s'" % (name, id) curs.execute(cmd)
대신 다음 작업을 수행합니다.
cmd = "update people set name=%s where id=%s" curs.execute(cmd, (name, id))
따라서 내 상황에서는 실행 행을 다음으로 수정합니다.
cmd = "INSERT INTO `current_table` (`id`, `name`) VALUES (NULL, %s);"
cur.execute(cmd, ("Lily's dog"))
이를 통해 따옴표로 연결되는 오류를 방지할 수 있습니다.
언급URL : https://stackoverflow.com/questions/32470451/how-to-intsert-quotation-mark-into-mariadb-using-mysql-client
반응형
'programing' 카테고리의 다른 글
동일한 표에 있는 다른 두 열의 연접 관계로 열을 업데이트하는 방법 (0) | 2023.10.27 |
---|---|
jquery datable의 ajax call에서 매개변수를 게시하는 방법 (0) | 2023.10.27 |
파이썬에 toString()과 동등한 기능이 있으며, 클래스를 String으로 변환할 수 있습니까? (0) | 2023.10.27 |
클릭 대신 호버에 부트스트랩 팝업 표시/사라짐 (0) | 2023.10.27 |
자바스크립트 style.display="none" 또는 jQuery.hide ()가 더 효율적입니까? (0) | 2023.10.22 |