Python脚本调用WordPress数据库报错:Leads表无效求助
解决CData WordPress驱动查询Leads表无效的问题
1. 确认数据库实际表名
WordPress默认会给所有表添加前缀(比如wp_),你提到的Leads表大概率是插件创建的自定义表,实际表名可能是wp_leads或者其他带前缀的格式。直接登录数据库管理工具(如phpMyAdmin),查看所有数据表,找到对应的数据表名称。
2. 用CData驱动列出所有可用表
先执行以下代码,确认驱动能识别的表有哪些:
import petl as etl import cdata.wordpress as mod connection = mod.connect("Url=https://www.mywebsite.com/wp/wordpress;User=autoresponder;Password=xxx") # 查询驱动可访问的所有表 resultset = etl.fromdb(connection, "SELECT Name FROM sys_tables") print(resultset)
运行后就能看到驱动能识别的全部表名,从中找到你需要的Leads对应表。
3. 修正SQL查询语句
根据查到的实际表名修改SQL,比如实际表是wp_leads,就改成:
SQL = "SELECT * FROM wp_leads"
如果表名包含特殊字符,用方括号包裹:SELECT * FROM [wp_leads]
4. 检查连接串配置
- 确认URL路径:应该指向WordPress站点根目录,比如你的WordPress安装在
https://www.mywebsite.com/wp/,则URL参数改为Url=https://www.mywebsite.com/wp/,多一层wordpress可能导致路径错误。 - 验证应用密码:确保使用的应用密码是对应
autoresponder用户生成的,且该用户有访问目标数据表的权限。
内容的提问来源于stack exchange,提问作者user22759290
相关产品推荐
相关产品推荐

