-1

DB のビデオポスト テーブルにビデオの URL と時間を追加する Python スクリプトを作成しようとしています。これは、Python での 3 番目のスクリプトです。私はまだ学んでいます。また、このスクリプトの実行時間を短縮する方法を教えてください。

コード:

  #!/usr/bin/python
  import MySQLdb
  import sys

  db = MySQLdb.connect (host = "host.com", user="myusername",passwd="pass", db = "dbname")

  cursor = db.cursor ()
  db.query("SELECT now()")
  result = db.use_result()
  time= str("%s" % \
      result.fetch_row()[0])
  print time
  db.close()
  cursor =db.cursor()
  vidurl = raw_input("Enter the URL to the video:")
  print vidurl

  cursor.execute ("""INSERT INTO videopost(vidurl, time) VALUES (%s, %s)""", (vidurl,time))
  db.commit()
  db.close()

私がこれで得ているエラーは

  File "vidup.py", line 28, in <module>
  cursor.execute ("""INSERT INTO videopost(vidurl, time) VALUES (%s, %s)""", (vidurl,time))
  File "/usr/local/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-freebsd-8.2-RELEASE-amd64.egg/MySQLdb/cursors.py", line 155, in execute _mysql_exceptions.InterfaceError: (0, '')

助けてくれてありがとう。解決策を探している人のために、以下の修正を投稿しています。

  cursor.execute("SELECT now()")
  result = cursor.fetchall()
  time= str("%s" % \
        result[0])
  print time
  vidurl = raw_input("Enter the URL to the video:")
  print vidurl
4

2 に答える 2

1

使用しない理由:

cursor.execute ("""INSERT INTO videopost(vidurl, time) VALUES (%s, NOW())""", (vidurl,))
于 2012-12-16T08:29:53.773 に答える
1

接続を閉じてから、カーソルを取得しようとしています:

db.close()
cursor =db.cursor()

最初の行を削除すると、すべてが機能するはずです。

于 2012-12-16T08:07:41.390 に答える