我使用 MySQL 创建了以下数据库:
CREATE TABLE tutors (
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(320) NOT NULL,
description VARCHAR(400) NOT NULL,
image VARCHAR(150) NOT NULL,
applyDate DATE NOT NULL)
其中 image 列存储我存储在文件系统中的图像的绝对路径。
但是,当我尝试插入用户输入的数据时,例如
arguments = ("Name", "a@gmail.com", "desc", "C:\\Users\\path\\to\\image.png", "2020-08-23")
在代码中使用 Python
cursor.execute("INSERT INTO tutors (name, email, description, image, applyDate) VALUES (?, ?, ?, ?, ?)", arguments)
conn.commit()
它给了我以下错误:
mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement.
当我将每个替换为 时它会起作用?,%s但我读到它%s容易受到 SQL 注入攻击,所以如果可能的话我宁愿远离它。?有没有不工作的原因?
jeck猫
相关分类