Python脚本挂起在cursor.execute()上

时间:2016-09-23 20:25:31

标签: python mysql

我是Python的新手

我正在调试现有的脚本,如下所示,

Table name: li_records
Between: 4 and 6
Total Rows: -1

我得到以下输出,

li_records

我在这里有两个问题,

1。)(已解决)我的表cursor.execute中有91行,那么为什么我将rowcount作为-1?

2.。)为什么我的脚本会挂起<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>

问题1解决了:像你们许多人指出我得到'-1'的原因是因为我还没有执行查询

感谢任何帮助。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

您还没有执行查询,因此数据库不知道结果中的行数。另请参阅the docs on rowcount

它声明:

  

根据Python DB API Spec的要求,rowcount属性“为-1   如果没有对光标[..]

执行executeXX()

至于你的execute方法挂起的原因,我不知道。你可以在方法调用之外构造查询字符串,如下所示:

query = "select contactid,li_url_clean,li_company,complink from " + table_name_r + " where li_company is not null and id_auto between " + between
cursor.execute(query)

如果您这样做,您也可以在执行前print。这样,您可以更轻松地查看查询是否有任何问题。