Python MySQLdb将字符串替换为mysql conn

时间:2015-09-30 12:11:16

标签: python

我有一个连接线,如下所示,我想替换变量,但不能让它起作用:

$('#yourID').change(function() {
  // your code
});

我将其更改为使用变量:

db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="database")

错误:db = MySQLdb.connect(host="localhost", user="%s", passwd="password", db="database") % "root"

因此,它不会替换并尝试使用mysql_exceptions.OperationalError: (1045, "Access denied for user '%s'@'localhost' (using password: YES)")运行查询。我也试过.format(而不是%s)并遇到了同样的问题。

为了解决这个问题,我打算事先替换该行,然后将连接行添加为一个参数,但即使是基本版本也不适合我。这是试运行,但即使没有任何替代也无法实现:

%s

这会导致mysql尝试将整个变量作为第一个参数(主机)传递:variable = '''MySQLdb.connect(host="localhost", user="root", passwd="password", db="database")''' db = MySQLdb.connect(variable)

1 个答案:

答案 0 :(得分:4)

我认为你在想这个。这是一个标准函数调用,并没有任何特定于MySQLdb的函数。与任何调用一样,如果要使用变量,只需执行此操作:

user = 'root'
MySQLdb.connect(host="localhost", user=user, passwd="password", db="database")