我有一个php表单,可以将这些值保存到数据库中:
我使用mysqldb在python程序中从数据库中调用这些值:
import MySQLdb
db = MySQLdb.connect("localhost","root","","test" )
cursor = db.cursor()
sql = "SELECT id,rand,x_val,y_val FROM table"
try:
cursor.execute(sql)
results = cursor.fetchall()
results = {}
for row in results:
results[row[1]] = [row[0], row[2], row[3]]
rand = row[1]
x_val = row[2]
y_val = row[3]
except:
print "Error: unable to fecth data"
db.close()
更新:它给出错误 - >错误:无法记录数据
在这篇文章中(如你所见)我希望rand(即row [1])作为行的标识符。但是,我无法找到如何将其用作标识符的方法,因为在sql变量之后调用了rand = row [1]。在这个例子中,我使用了一个静态的'63kfjf'rand值,这只是为了向你展示工作。有办法吗?
答案 0 :(得分:1)
从DB中选择数据后,您可以创建一个以“rand”值为键的字典:
这样的事情:
dicResults = {}
for row in results:
dicResults[row[1]] = [row[0], row[2], row[3]]
答案 1 :(得分:0)
我认为你是在试图随机选择一行?如果这是正确的,这将有效。
将rand更改为自动递增的整数。
SELECT MAX(rand)FROM table;确定最高'随机' 值。
生成0到MAX之间的随机值(rand)
SELECT * FROM table WHERE rand = $ randomGeneratedValue;