arkadaşlar bu kodlar ile mysql tablosundan while True: ile veri çekiyorum. Amacım kod çalıştığı sürece ilk mysql bağlantısını kullanmak.( her sorguda yeniden mysql bağlantısı yapmamak) Kodu ilk çalıştırdığımda eğer veri varsa çekiyor ancak tablo boş ise ve kodlar çalıştığında veritabanına bir veri eklendiğinde yeni eklenen veriyi çekmiyor. import pymysql
connection = None # Başlangıçta bağlantı yok
def get_veri():
global connection # Global değişken kullanma
try:
# Eğer bağlantı yoksa ya da kapalıysa, yeniden bağlan
if connection is None or not connection.open:
connection = pymysql.connect(
host="192.242.117.123",
user="ss",
password="hD5e27xy",
database="ss"
)
else:
# Bağlantı hala açıksa, ping at
ping_result = connection.ping()
if ping_result is None:
print("Bağlantı hala açık")
else:
print("Bağlantı kapalı")
# Cursor oluştur
cursor = connection.cursor()
try:
cursor.execute("SELECT * FROM keklik")
results = cursor.fetchall()
if not results:
print("Veritabanında sonuç bulunamadı.")
return None, None
else:
for row in results:
isim= row[0]
sehir= row[1]
return isim , sehir
except Exception as e:
print("Bir mysql hata oluştu:", e)
# Hata urumunda None değerleri döndür
return None, None
except Exception as e:
print("Bir hata oluştu:", e)
# Hata durumunda None değerleri döndür
return None, None