我只是尝试在HTML中插入从表单中提取的两个值。使用Flask和mysql.connector
这是我的index.html:
<h1>Simple Login Form</h1>
<form action="/signup" method="post">
<input type="text" name="username" required/>
<input type="password" name="password" required/>
<input type="submit"/> </form>
和我在python(app.py)中的行:
@app.route('/signup', methods=["POST"])
def signup():
username = str(request.form["username"])
password = str(request.form["password"])
cursor = mydb.cursor()
cursor.execute("INSERT INTO users (username, password) VALUES({},{})".format(username, password))
#cursor.execute("INSERT INTO users (username, password) VALUES('test','test')")
mydb.commit()
无论出于什么原因,我在执行第一个游标时会出现内部服务器错误,但“#”游标代码可以正常工作...请问谁能告诉我,我哪里出了问题。
它终于起作用了,就像改变一样简单:
cursor.execute("INSERT INTO users (username, password) VALUES({},{})".format(username, password))
致:
cursor.execute("INSERT INTO users (username, password) VALUES('{}','{}')".format(username, password))
只需将{}、{}更改为“{}”、“{}”
可悲的是,没有其他的方法对我有效,只有这一个给了我我需要的结果。
谢谢迈克·斯科特
你的价值没有被引用。将格式化的字符串放入引号中,或者,更好的是,使用绑定变量和占位符来安全地执行它:
cursor.execute("INSERT INTO users (username, password) VALUES(:username, :password)", [username, password])
有关更多信息,请参阅https://cx-oracle.readthedocs.io/en/latest/userguide/bind.html。
问题 你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉。 解决方案 Python并没有对在字符串中简单替换变量值提供直接的支持。 但是通过使用字符串的 format() 方法来解决这个问题。比如: >>> s = '{name} has {n} messages.' >>> s.format(name='Guido', n=37) 'Guido has 37 messages.' >
问题内容: 我想在Python中将变量引入字符串中。 例如,看下面的脚本。我只是想为图像起个名字,例如…到,或者如果您使用会计师,因为我可以替换部分价值链以生成计数器。 问题答案: data = self.cmd(“r.out.gdal in=rdata out=geo{0}.tif”.format(i)) self.dataOutTIF.setValue(“geo{0}.tif”.format(
问题内容: 尝试将变量插入回显的字符串中。上面的代码不起作用。如何将php变量迭代到回显字符串中? 问题答案: 单引号不会解析其中的PHP变量。使用双引号或使用点扩展回声。 要么 在您的情况下: 要么
问题内容: Java中的字符串构建使我感到困惑。我讨厌做这样的事情: 或者,使用StringBuilder,如下所示: 我肯定会丢失一些东西。有更好的方法。就像是: 代替: 做: 要么: 问题答案: 如果您使用的是Java 5或更高版本,则可以使用: 有关详细信息,请参见。
问题内容: 我试图创建一个唯一文件名的文件,每次运行脚本时,它只打算每周或每月执行一次。所以我选择使用日期作为文件名。 是我收到此错误的地方。 如果我使用静态文件名,它可以工作,打开功能是否存在问题,这意味着您不能传递这样的字符串? name是一个字符串,其值包括: 非常感谢您的帮助 问题答案: 您需要在字符串后面直接输入: 您的代码不起作用的原因是,您正在尝试的文件不是字符串格式,而且也是无效的
Java中的字符串构建让我感到困惑。我不喜欢做这样的事情: 或者,使用StringBuilder,如下所示: 我肯定遗漏了什么。一定有更好的方法。比如: 而不是: 执行: 或: