首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

看上小弟我代码错哪了 2个条件就报错 一个条件就可以 困惑

2013-01-26 
看下我代码哪里错了 2个条件就报错 一个条件就可以 困惑sql_sselect count(*) from illegalityMacUser w

看下我代码哪里错了 2个条件就报错 一个条件就可以 困惑

sql_s='select count(*) from illegalityMacUser where lm_time>=%s and mac=%s '
datetime=time.strftime('%Y-%m-%d',time.localtime(time.time()))
print datetime
cur.execute(sql_s,datetime,'dd-dd-dd-dd-f8')
for row in cur.fetchall():
    for r in row:
        print 'begin out 今天所有的数据=============',r
        if(r==0):
            print 0
        else:
            print 1
如果时间或者mac只写一个比如
sql_s='select count(*) from illegalityMacUser where mac=%s'
cur.execute(sql_s,'dd-dd-dd-dd-f8')
没问题
或者 
sql_s='select count(*) from illegalityMacUser lm_time>=%s'
cur.execute(sql_s,datetime)
也没问题
可是2个条件都加就报错?怎么回事呢 错误如下
raceback (most recent call last):
  File "D:\Python-1 - 副本.py", line 19, in <module>
    cur.execute(sql_s,datetime,'dd-dd-dd-dd-f8')
TypeError: execute() takes at most 3 arguments (4 given)

[解决办法]
典型用法
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Prepare SQL query to INSERT a record into the database.
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
       LAST_NAME, AGE, SEX, INCOME) \
       VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
       ('Mac', 'Mohan', 20, 'M', 2000)
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

# disconnect from server
db.close()

热点排行