I connect local database to app then I want to bring these data into app again to be edited. That is my code
import sys
import os
import time
from PyQt5 import QtCore, QtGui, QtWidgets, uic
import mysql.connector
from mysql.connector import errorcode
FORM_CLASS, _ = uic.loadUiType(os.path.join(os.path.dirname(__file__),"mahmoudtarek.ui"))
class Main(QtWidgets.QMainWindow, FORM_CLASS):
    def __init__(self,parent=None):
        super(Main,self).__init__(parent)
        self.setupUi(self)
        self.InitUI()
        self.conn = None
        self.handle_buttons()
        self.handle_db_connections()
    def InitUI(self):
        ## changes in the run time
        pass
    def handle_buttons(self):
          ## all buttons in the app
        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)
        self.pushButton_6.clicked.connect(self.search_mahmoud_friends)
    def handle_db_connections(self):
        try:
            self.conn = mysql.connector.connect(
                host='127.0.0.1',
                database='mydb',
                user='root',
                password='134668691011',
                use_pure=True)  # use_pure is set to true
            if self.conn.is_connected():
                db_Info = self.conn.get_server_info()
                print("Connected to MySQL database using C extension... MySQL Server version on ", db_Info)
        except mysql.connector.Error as err:
            print("Error while connecting to MySQL using C extension", err)
    def add_mahmoud_friends(self):
        mth_friends = self.lineEdit.text()
        mth_search = self.lineEdit_4.text()
        if self.conn:
            c = self.conn.cursor()
            try:
                c.execute('''INSERT INTO ahmed (mth_friends,mth_search) values (%s,%s)''', (mth_friends,mth_search))
                self.conn.commit()
                self.lineEdit.setText('')
                self.lineEdit_4.setText('')
                self.statusBar.showMessage('ok mahmoud')
            except mysql.connector.Error as err:
                print("Error: ", err)
    def update_mahmoud_friends(self):
        pass
    def delete_mahmoud_friends(self):
        pass
    def search_mahmoud_friends(self):
        sql = '''SELECT * FROM ahmed WHERE mth_search = %s'''
        mth_search = self.lineEdit_3.text()
        self.conn.cursor.execute(sql , [(mth_search)])
        data = self.conn.fetchall()
        for row in data :
            print(row)
    def closeEvent(self, event):
        if self.conn:
            self.conn.close()
        super(Main, self).closeEvent(event)
def main():
    app= QtWidgets.QApplication(sys.argv)
    window =Main()
    window.show()
    app.exec_()
if __name__ == '__main__':
    main()
Error appears here when I import data by printing row in my SQL Database.
Error
Connected to MySQL database using C extension... MySQL Server version on 8.0.12 Traceback (most recent call last): File "/Users/mahmoudtarek/Desktop/mth1/index.py", line 73, in search_mahmoud_friends self.conn.cursor.execute(sql , [(mth_search)]) AttributeError: 'function' object has no attribute 'execute'
so, can it be solved or there is another method?
 
     
     
    