Форум сайта python.su
Зависает connect к базе. Вчера работал.
Я уже свел весь скрипт к 10 строкам.
Если эти строки ввести в консоли, то всё работает.
Скрипт на php тоже работает
#!/home/virtwww/0a5b8524/local/bin/python # -*- coding: utf-8 -*- # import pymysql print ("Content-Type: text/html\n") print ('test<br>\n') print ("Python {}.{}.".format(sys.version_info.major, sys.version_info.minor)) with con: con = pymysql.connect(host = 'mysql00.1gb.ru',user = 'user',password = 'password',db = 'gb') print ('<br>con:') print (con)
Отредактировано ajk-pro (Май 27, 2020 14:01:06)
Офлайн
with con: con = pymysql.connect(host = 'mysql00.1gb.ru',user = 'user',password = 'password',db = 'gb')
Офлайн
ajk-pro , последние две строки занеси в блок with. Отступы удалились.
Офлайн
Ожидаемо ничего не изменилось.
В вопросе важные слова - “работало” и “свел скрипт к”.
Сейчас убрал вообще with, т.е. сделал плоско.
Строчка с connect прошла, но результат не дает. “name ‘con’ is not defined”
Т.е. нужно смотреть ошибку.
Я подозреваю, что-то изменилось на сервере 1gb, но они не сознаются.
Работало же…
Или там что-то по поводу…
/home/virtwww/…/local/lib/python3.8/site-packages/pymysql/_auth.py:80: UserWarning: old password (for MySQL <4.1) is used. Upgrade your password with newer auth method.
old password support will be removed in future PyMySQL version
warnings.warn(“old password (for MySQL <4.1) is used. Upgrade your password with newer auth method.\\n”
Но там же в консоли всё это работает.
Спасибо!
Александр.
Офлайн
ajk-pro
Строчка с connect прошла, но результат не дает. “name ‘con’ is not defined”
#!/home/virtwww/w_matica-info_0a8b5524/local/bin/python # -*- coding: utf-8 -*- # import pymysql print ("Content-Type: text/html\n") print ('test<br>\n') print ("Python {}.{}.".format(sys.version_info.major, sys.version_info.minor)) with con: con = pymysql.connect(host = 'mysql00.1gb.ru',user = 'user',password = 'password',db = 'gb') print ('<br>con:') print (con)
ajk-proДа ладно!!!! Вы хотите сказать, что информация об ошибке имеет смысл??
Т.е. нужно смотреть ошибку.
Офлайн
Ну, ладно, там я в коде для вопроса напутал.
Вот, я еще раз понажимал:
import pymysql print ("Content-Type: text/html\n") try: con = pymysql.connect(host = 'host.ru',user = 'user',password = 'pass',db = 'gb') except Exception as e: print (e) else: print('Error1?<br>') print ('con:') print (con, '<br>') sql = "SELECT * FROM `base` " print ('SQL<br>') try: with con: cur = con.cursor() cur.execute(sql) rows = cur.fetchall() except Exception as e: print (e) else: print('Error2?<br>')
test
Python 3.8
Error1?
con:
Database version: 5.0.70-log SQL
Error2?
Отредактировано ajk-pro (Май 27, 2020 16:51:05)
Офлайн
Само заработало. Что-то они там испортили, потом вернули.
Спасибо!
Александр
Офлайн