首页  >  问答  >  正文

用python的mysql.connector模块运行代码结果为空,但是在数据库命令行下运行有结果

cursor.execute("SELECT article_num1,article_num2,citation_num1,citation_num2,shortest_path_length FROM colla WHERE colla.author_name1 = '%s'",name)

结果为None

但是在数据库的命令行里运行就有结果,这是什么原因?

PHP中文网PHP中文网2741 天前358

全部回复(3)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:42:46

    cursor.execute("SELECT article_num1,article_num2,citation_num1,citation_num2,shortest_path_length FROM colla WHERE colla.author_name1 = %s",(name,))
    

    这个是最找到的答案。我得到了正确结果。
    提醒一下,我是用的python3.4

    回复
    0
  • 黄舟

    黄舟2017-04-18 09:42:46

    你是怎样获取结果的,cursor.fetchone()

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:42:46

    execute的参数错了,第二个参数必须是一个sequence或者是dict,可以改成下面这样。

    cursor.execute("SELECT article_num1,article_num2,citation_num1,citation_num2,shortest_path_length FROM colla WHERE colla.author_name1 = '%s'",(name,))

    回复
    0
  • 取消回复