Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python代码不会输入;用户名并将单词传递给mysql_Python 3.x - Fatal编程技术网

Python 3.x Python代码不会输入;用户名并将单词传递给mysql

Python 3.x Python代码不会输入;用户名并将单词传递给mysql,python-3.x,Python 3.x,我曾多次尝试从输入中获取用户名和密码,然后将它们保存到mysql中。但它要么不打印到mysql,要么给出一个错误。我用尽了我所有的方法 导入mysql.connector mydb=mysql.connector.connect( host=“localhost”, user=“root”, passwd=“”, database=“出于某种原因而为空” ) mycursor=mydb.cursor() user_name=str(输入(“请输入用户名:”) pass_word=str(输入(“

我曾多次尝试从输入中获取用户名和密码,然后将它们保存到mysql中。但它要么不打印到mysql,要么给出一个错误。我用尽了我所有的方法

导入mysql.connector
mydb=mysql.connector.connect(
host=“localhost”,
user=“root”,
passwd=“”,
database=“出于某种原因而为空”
)
mycursor=mydb.cursor()
user_name=str(输入(“请输入用户名:”)
pass_word=str(输入(“请输入密码:”)
sql=“插入到用户(user\u name.str()),传递\u word.str())值(%s,%s)”
mycursor.execute(sql,(user_name.str,pass_word.str))
时间。睡眠(5)
#sql=“插入用户(“+str(用户名)+”,“+str(密码)+”)值(%s,%s)”```
“str”对象没有属性“str”
第20行,在
mycursor.execute(sql,(user_name.str,pass_word.str))是上面当前代码给出的错误。

user\u name和pass\u word都是从用户输入中读取的字符串。因此,无需再次将其转换为字符串

但是,如果要在Python中将对象强制转换为字符串,请使用“str()”方法。以下是示例链接:

因此,您应该能够使用这一行并执行代码:

sql = "INSERT INTO users (user_name, pass_word) VALUES (%s, %s)"  
mycursor.execute(sql, (user_name, pass_word))

我刚才不得不处理这个问题,我发现只要你使用
mysql.connector.connect
,它希望在这一秒钟内连接(如果您仔细考虑的话,这是合乎逻辑的),这意味着在您执行此命令时,它需要拥有一切。如果您希望这样做,您需要先获取用户输入。

您的问题是将用户输入捕获为字符串,还是使用其输入连接到数据库?我不明白你的问题是什么。使用输入,进入数据库。例如:输入密码,用户在数据库中输入密码“123”,我希望它将“123”存储在一个用户类别中,还有用户名。您所说的仍然没有意义。您需要:输入数据库,还是在数据库中存储值,或者两者都需要?当我运行您发布的内容时,我会收到一个单独的错误。如果你还没猜到,我是python的高手。下面是我的错误
python您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解在第1行的“()”、pass_word())VALUES('gabe','3232')附近使用的正确语法。该错误与sql查询有关,而不是Python,因此此答案解决了您的初始问题