I tried to insert data into my local database but it keeps showing me error like that(although connection is established) :
Traceback (most recent call last):
File "/Users/mahmoudtarek/Desktop/mth1/index.py", line 60, in add_mahmoud_friends
self.c.execute('''INSERT INTO mtth (mth_friends) VALUE (%s)''',(mth_friends))
File "/Users/mahmoudtarek/PycharmProjects/untitled/venv/lib/python3.7/site-packages/mysql/connector/cursor.py", line 533, in execute
if not self._connection:
ReferenceError: weakly-referenced object no longer exists
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
so, where is the problem ?
What I have tried:
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import mysql.connector
import mysql.connector.cursor
from mysql.connector import errorcode
import sys
import os
from os import path
from PyQt5.uic import loadUiType
FORM_CLASS,_ = loadUiType(path.join(path.dirname(__file__),"mainwindow.ui"))
class Main(QMainWindow,FORM_CLASS):
def __init__(self,parent=None):
super(Main,self).__init__(parent)
QMainWindow.__init__(self)
self.setupUi(self)
self.InitUI()
self.Handel_buttons()
self.Handel_db_connections()
def InitUI(self):
pass
def Handel_buttons(self):
self.pushButton.clicked.connect(self.add_mahmoud_friends)
self.pushButton_3.clicked.connect(self.update_mahmoud_friends)
self.pushButton_2.clicked.connect(self.delete_mahmoud_friends)
def Handel_db_connections(self):
try:
conn = mysql.connector.connect(host='127.0.0.1',
database='mydb',
user='root',
password='************',
use_pure=True)
if conn.is_connected():
db_Info = conn.get_server_info()
print("Connected to MySQL database using C extension... MySQL Server version on ", db_Info)
self.c = conn.cursor()
except errorcode as e:
print("Error while connecting to MySQL using C extension", e)
finally:
if (conn.is_connected()):
print("connection is closed")
def add_mahmoud_friends(self):
mth_friends = self.lineEdit.text()
self.c.execute('''INSERT INTO mtth (mth_friends) VALUE (%s)''',(mth_friends))
print("done")
def update_mahmoud_friends(self):
pass
def delete_mahmoud_friends(self):
pass
def main():
app= QApplication(sys.argv)
window =Main()
window.show()
app.exec_()
if __name__ == '__main__':
main()