Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
  • Русский
  • Українська
  • UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  Vodafone
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

Хостинг. Не работает запрос к базе данных в скрипте на python3!

Форумы Хостинг Не работает запрос к базе данных в скрипте на python3!

ramario
2 года
0
Не работает запрос к базе данных в скрипте на python3!

Есть скрипт:
#!/usr/bin/python3
import pymysql.cursors
print("Content-Type: text/html\n\n")
msg = "Hello, World!"
print("""%s""" % msg)
db = pymysql.connect(host='host.mysql.tools',
user='host_user',
password='12345',
db='host_bd')
cursor = db.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print ("Database version : %s " % data)
db.close()
При вызове файла не выполняется код после строки print("""%s""" % msg).
В чём может быть проблема???

toxi
2 года
0

Должно работать: https://repl.it/repls/AggravatingStarryScale (Ваш код). Нужно немного подождать перед тем, как скрипт выведет ошибку о продключении к БД.

Прикрепленные файлы:
ramario
2 года
0

Я и так знаю что код рабочий. Но при вызове http://www.mysite.com/skript/skript.py выводится только "Hello, World!", но не выводится "Database version:" .Даже нет ошибки когда неправильно указаны параметры подключения к базе данных.
Код:
db = pymysql.connect(host='host.mysql.tools',
user='host_user',
password='12345',
db='host_bd')
cursor = db.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print ("Database version : %s " % data)
db.close()
на сервере, походу, вообще не выполняется!!!

KarlovA
2 года
0

Проверил работу скрипта у себя и проблем не обнаружил, скрипт рабочий. На скриншоте сам скрипт и результат его выполнения — https://i.imgur.com/gPfjRdD.png
Возможно, стоит перепроверить параметры подключения к базе данных, указанные в скрипте. К примеру, если пароль указан неверно, скрипт выведет только «Hello, World!».

ramario
2 года
0

Если я скрипт запускаю в PyCharm, IDLE или здесь https://repl.it/repls/AggravatingStarryScale - всё работает, а на сервере не хочет.
Что на сервере (возможно настройки) может мешать скрипту подключаться к БД?????

alexandrpaliy
2 года
4

В Вашем случае pymysql.connect() не работала из-за того, что на сервере была установлена слишком старая версия pymysql - 0.6.2
Возникала ошибка

TypeError: __init__() got an unexpected keyword argument 'password'

потому что в версии 0.6.2 этот параметр назывался 'passwd'
Для наглядности, разница в списке параметров, которые ожидала видеть connect():
pymysql 0.6.2 - PyMySQL/connections.py at 92114cf35074abe4335c34d06a9b75bc6dcccad6 · PyMySQL/PyMySQL · GitHub (строка 500)
pymysql 0.8.0 - PyMySQL/connections.py at 0305541132b134047eb4ba70fc9acbc9be603d05 · PyMySQL/PyMySQL · GitHub (строка 569)
Перенесли аккаунт на сервер с версией pymysql 0.8.0, теперь ошибка проявляться не должна.

Участвовать в общении на этом форуме могут только зарегистрированные пользователи.