查询使用python访问行中的特定数据

时间:2014-03-11 07:23:14

标签: python mysql database wordpress phpmyadmin

使用wordpress和phpmyadmin处理我的数据库。下面是我用来使用python查看表单上的条目的代码。在表单中,我要求用户检查/取消选中特定问题。

import MySQLdb as mdb
con = mdb.connect('localhost', 'root', 'password', 'WordpressDB', unix_socket="/opt/lampp/var/mysql/mysql.sock");
with con: 
    cur = con.cursor()
    cur.execute("SELECT data FROM `wp_form_builder_entries` WHERE entries_id = 5")
    rows = cur.fetchall()
    print rows

此代码生成的输出如下:

enter image description here

按预期工作,但我不想要所有数据。我只需要知道它是经过检查还是未经检查。如果用户已选中值为“s:9:'已选中'”,则其为“s:9:'未选中'”

我应该使用什么查询来检索“s:9:'checked'”?

请咨询

谢谢

2 个答案:

答案 0 :(得分:0)

您不能简单地使用SQL查询执行此操作。您必须使用phpserialize反序列化PHP数据并从中获取数据。另请参阅other answer

答案 1 :(得分:0)

首先,您可以向我们展示一行中的内容(data列位于row[0]中):

for row in rows:
    print('%s' % (row[0]))

然后分析本专栏中有趣的内容。创建单独的函数,将此列数据转换为您想要显示的内容:

def get_interesting_data(data_column):
    data_str = '%s' % data_column
    ... # use some regexp or string function
    return data_str

并使用它:

for row in rows:
    print('%s' % (get_interesting_data(row[0])))