Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t连接到主机上的MySQL服务器_Python_Android_Kivy_Pymysql - Fatal编程技术网

Python Can';t连接到主机上的MySQL服务器

Python Can';t连接到主机上的MySQL服务器,python,android,kivy,pymysql,Python,Android,Kivy,Pymysql,我正在使用pYMYSQL连接db,并使用buildozer在android设备上部署。 无法连接到“freedb.tech”上的MySQL服务器 错误 05-14 17:15:20.090 4020 4058 org.test.myapp I python出了什么问题 错误:(2003,“无法连接到'freedb.tech'上的MySQL服务器([Errno 7] 没有与主机名“”关联的地址) python文件 您说这些凭据是正确的,但仍然无法连接到数据库 这是个简单的问题 注意:- 如果您没

我正在使用pYMYSQL连接db,并使用buildozer在android设备上部署。 无法连接到“freedb.tech”上的MySQL服务器 错误


05-14 17:15:20.090 4020 4058 org.test.myapp I python出了什么问题 错误:(2003,“无法连接到'freedb.tech'上的MySQL服务器([Errno 7] 没有与主机名“”关联的地址)

python文件
您说这些凭据是正确的,但仍然无法连接到数据库 这是个简单的问题 注意:-

如果您没有internet访问权限,也会出现此错误

因此,要访问互联网必须在buildozer.spec文件中添加
android.permissions=internet


快乐编码(^ ^)

我希望这些不是你真正的证书。它在ubuntu中运行良好。
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.animation import Animation
from hoverable import HoverBehavior
from kivy.uix.image import Image
from kivy.uix.behaviors import ButtonBehavior
import json, glob
from datetime import datetime
from pathlib import Path
import random
import pymysql.cursors

db_string = "postgresql://[user]:[password]@ec2-54-197-100-79.compute-1.amazonaws.com:5432/d4bsdrtg9i2j5d"
Builder.load_file('design.kv')


class LoginScreen(Screen):
    def sign_up(self):
        self.manager.current = "sign_up_screen"

    def login(self, uname, pword):
        with open("users.json") as file:
            users = json.load(file)
        if uname in users and users[uname]['password'] == pword:
            self.manager.current = 'login_screeen_success'
        else:
            anim = Animation(color=(0.6, 0.7, 0.1, 1))
            anim.start(self.ids.login_wrong)
            self.ids.login_wrong.text = "Wrong username or password!"


class RootWidget(ScreenManager):
    pass


class SignUpScreen(Screen):
    def add_user(self, uname, pword):
        with open("users.json") as file:
            users = json.load(file)

        users[uname] = {'username': uname, 'password': pword,
                        'created': datetime.now().strftime("%Y-%m-%d %H-%M-%S")}

        with open("users.json", 'w') as file:
            json.dump(users, file)

        self.manager.current = "sign_up_screen_success"


class SignUpScreenSuccess(Screen):
    def go_to_login(self):
        self.manager.transition.direction = 'right'
        self.manager.current = "login_screen"


class LoginScreenSuccess(Screen):
    def log_out(self):
        self.manager.transition.direction = "right"
        self.manager.current = "login_screen"

    def get_quote(self, feel):
        feel = feel.lower()
        available_feelings = glob.glob("quotes/*txt")

        available_feelings = [Path(filename).stem for filename in
                              available_feelings]

        if feel in available_feelings:
            with open(f"quotes/{feel}.txt", encoding='utf8') as file:
                quotes = file.readlines()
            self.ids.quote.text = random.choice(quotes)
        else:
            self.ids.quote.text = "Try another feeling"

    def feed_back(self):
        self.manager.current = "feedback_screen"


class ImageButton(ButtonBehavior, HoverBehavior, Image):
    pass


class FeedbackScreen(Screen):
    def send_feed(self, feed):
        print(feed)
        # connection = psycopg2.connect(user="[user]",
        #                               password="[password]",
        #                               host="ec2-54-197-100-79.compute-1.amazonaws.com",
        #                               port="5432",
        #                               database="d4bsdrtg9i2j5d")
        # db = create_engine(db_string)
        #
        # postgres_insert_query = """INSERT INTO feed(feed_info) VALUES (%s)"""
        #
        # db.execute(postgres_insert_query, feed)
        # print("Record inserted successfully into feed table")
        try:

            mydb = pymysql.connect(
                host="freedb.tech",
                user="freedbtech_reds",
                password="Raskol@786",
                database="freedbtech_redsdb"
            )

            mycursor = mydb.cursor()

            sql = "INSERT INTO feed (feed_info) VALUES (%s)"
            val = (feed,)
            mycursor.execute(sql, val)
            mydb.commit()
            print(mycursor.rowcount, "Record inserted successfully into feed table")

            self.manager.current = 'login_screen'
        except pymysql.Error as err:
            print("Something went wrong: {}".format(err))


class MainApp(App):
    def build(self):
        return RootWidget()


if __name__ == "__main__":
    MainApp().run()


---------------------------------
buildozer spec
--------------------------------
requirements = python3,kivy,PyMySQL