为什么出错了?

正在回答

登陆购买课程后可参与讨论,去登陆

8回答

同学你好,sql语句后面多了个小括号)

http://img1.sycdn.imooc.com//climg/5f9385ae09f0d19b07320528.jpg

另外,同学可尝试在代码中使用print语句,进行代码调试、错误追踪,可以将sql语句打印输出进行检查,将错误内容打印输出,代码调试通过后,再将print语句注释掉

加油,祝学习愉快~~~


好帮手慕美 2020-10-12 18:03:09

同学,你好。同学的sql语句不对,最后的右侧括号应写在等号前边

http://img1.sycdn.imooc.com//climg/5f8429b00931c1ec09840600.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快~~~~~

  • 提问者 慕python_SD三德 #1
    这样为什么还是错了? class UserDao: # 1.用户登录 def user_logon(self, username, password): try: con = pool.get_connection() cs = con.cursor() sql = 'select count(*) from t_user ' \ 'where username=%s ' \ 'and aes_decrypt(unhex(password), "HelloWorld")=%s) ' cs.execute(sql, (username, password)) count = cs.fetchone()[0] return True if count == 1 else False except Exception as e: print("请检查自己的用户名或密码···") finally: con.close() if __name__ == '__main__': u = UserDao() username = "scott" password = "123456" print(u.user_logon(username, password))
    2020-10-23 22:49:34
  • 提问者 慕python_SD三德 #2
    返回的结果: 请检查自己的用户名或密码··· None
    2020-10-23 22:53:16
好帮手慕美 2020-10-12 17:56:13

同学,你好。同学可以使用os.path.abspath(__file__)得到.py文件的绝对路径(完整路径)

http://img1.sycdn.imooc.com//climg/5f84278a09375c7200000000.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快~~~~

  • 提问者 慕python_SD三德 #1
    但是在cmd中,怎么直接的得到呢?
    2020-10-14 18:08:50
  • 好帮手慕美 回复 提问者 慕python_SD三德 #2
    同学,你好。 1、在cmd中先进入python,再执行上图中的代码即可 2、若不是在python中,同学可以用鼠标按住文件拖到cmd窗口中松开鼠标,即可看到文件的绝对路径 祝学习愉快~~~~
    2020-10-14 18:34:03
提问者 慕python_SD三德 2020-10-12 17:51:55

http://img1.sycdn.imooc.com//climg/5f84272609a00bb819201080.jpg

from dao.mysql_db import pool


class UserDao:
    # 1.用户登录
    def user_logon(self, username, password):
        try:
            con = pool.get_connection()
            cs = con.cursor()
            sql = 'select count(*) from t_user ' \
                  'where username=%s ' \
                  'and aes_decrypt(unhex(password), "HelloWorld"=%s) '
            cs.execute(sql, (username, password))
            count = cs.fetchone()[0]
            return True if count == 1 else False
        except Exception as e:
            print("请检查自己的用户名或密码···")
        finally:
            con.close()


if __name__ == '__main__':
    u = UserDao()
    username = "scott"
    password = "123456"
    print(u.user_logon(username, password))


好帮手慕美 2020-10-12 11:06:10

同学,你好。在查询到结果之后若没有把结果集中的内容读一遍就把它close掉了,因此会报错,同学需要使用fetchone()得到查询后的结果。

http://img1.sycdn.imooc.com//climg/5f83c7a709a2864709840455.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快~~~~

  • 提问者 慕python_SD三德 #1
    在PyCharm中怎么得到一个py文件的路径?
    2020-10-12 17:49:22
  • 提问者 慕python_SD三德 #2
    from dao.mysql_db import pool class UserDao: # 1.用户登录 def user_logon(self, username, password): try: con = pool.get_connection() cs = con.cursor() sql = 'select count(*) from t_user ' \ 'where username=%s ' \ 'and aes_decrypt(unhex(password), "HelloWorld"=%s) ' cs.execute(sql, (username, password)) count = cs.fetchone()[0] return True if count == 1 else False except Exception as e: print("请检查自己的用户名或密码···") finally: con.close() if __name__ == '__main__': u = UserDao() username = "scott" password = "123456" print(u.user_logon(username, password)) 为什么出现的是False?
    2020-10-12 17:51:26
提问者 慕python_SD三德 2020-10-11 20:14:21

from dao.mysql_db import pool


class UserDao:
   # 1.用户登录
   def user_logon(self, username, password):
       try:
           con = pool.get_connection()
           cs = con.cursor()
           sql = 'select count(*) from t_user ' \
                 'where username=%s ' \
                 'and aes_decrypt(unhex(password), "HelloWorld"=%s) '
           cs.execute(sql, (username, password))
       except Exception as e:
           print("请检查自己的用户名或密码···")
       finally:
           con.close()


if __name__ == '__main__':
   u = UserDao()
   username = "scott"
   password = "123456"
   u.user_logon(username, password)

http://img1.sycdn.imooc.com//climg/5f82f7100901823f19201080.jpg还是报错?

好帮手慕雪 2020-10-11 16:55:26

http://img1.sycdn.imooc.com//climg/5f82c85309ec5d3303630420.jpg

你好,select什么?你得补全,不能什么都不写。

如果解决了你的疑惑,请采纳,祝学习愉快~

提问者 慕python_SD三德 2020-10-11 15:46:51

已经解决了,但是:

http://img1.sycdn.imooc.com//climg/5f82b8570904a37119201080.jpg为什么会出现异常,我的密码没错啊

  • 提问者 慕python_SD三德 #1
    from dao.mysql_db import pool class UserDao: # 1.用户登录 def user_logon(self, username, password): try: con = pool.get_connection() cs = con.cursor() sql = 'select from t_user ' \ 'where username=%s ' \ 'and aes_decrypt(unhex(password), "HelloWorld"=%s) ' cs.execute(sql, (username, password)) except Exception as e: print("登录异常处理中···(3秒后返回上一层)") finally: con.close() if __name__ == '__main__': u = UserDao() username = "scott" password = "123456" u.user_logon(username, password)
    2020-10-11 15:47:20
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师