Why I've Got False Recognize?

I Want To Ask Why I’ve got false recognize name when i’m not training the model from dataset i’m confuse how to fix this i want to use face recognition to check multiple face for attendance im using opencv 4.2.0 , LBPH Recognizer(Haarcascade), and Python 3.6 here is my code, so the false condition will showing first row from database (i’m using sqlite)

import cv2
import numpy as np
from PIL import Image
import pickle
import urllib.request as ur
import sqlite3
import _datetime
import sys



def Entry(): 

   recognizer = cv2.face.LBPHFaceRecognizer_create()
   recognizer.read('trainner.yml')
   cascadePath = ('haarcascade_frontalface_default.xml')
   faceCascade = cv2.CascadeClassifier(cascadePath);
   cam = cv2.VideoCapture(0)
   font = cv2.FONT_HERSHEY_SIMPLEX
   name = ""

   def getProfile(id):
            connect = sqlite3.connect('Presensi.db')
            cursor= connect.execute("SELECT * FROM presensi WHERE npm=?",(str(id),))
            profile=None
            for row in cursor:
                profile=row
            connect.close()
            return profile

   while True:
            ret, im =cam.read()
            gray=cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
            faces = faceCascade.detectMultiScale(gray, 1.5 , 5)
            for(x,y,w,h) in faces:
                   cv2.rectangle(im,(x,y),(x+w,y+h),(0,225,0),2)
                   id, conf = recognizer.predict(gray[y:y+h,x:x+w])
                   if conf < 70:
                        profile = getProfile(id)
                        if profile!= None:
                            conf = "{0}%".format(round(conf))
                            cv2.putText(im, str(conf), (x, y+80), font, 1, (0,225,0))
                            cv2.putText(im, str(profile[0]), (x, y-20), font, 1, (0,225,0))
                            cv2.putText(im, str(profile[1]), (x, y-50), font, 1, (0,225,0))
                            cv2.putText(im, str(profile[2]), (x, y+10), font, 1, (0,225,0))
                            connect2 = sqlite3.connect('Presensi.db')
                            cur2 = connect2.cursor()
                            connect2.execute("UPDATE presensi SET kehadiran = 'HADIR' , entry_time = CURRENT_TIME  WHERE npm = " + str(id))
                            connect2.commit()
                            cur2.close()
                            cv2.putText(im, str("Hadir"), (x, y+45), font, 1, (0,225,0))
                   else:
                            conf = "{0}%".format(round(conf))
                            cv2.putText(im, str(conf), (x, y+80), font, 1, (0,225,0))
                            cv2.putText(im, str("Tidak Dikenal"), (x, y+45), font, 1, (0,225,0))

            cv2.imshow('Absensi Checker',im)
            k = cv2.waitKey(10) & 0xff # Press 'ESC' for exiting video
            if k == 27:
                break
   cam.release()
   cv2.destroyAllWindows()

That’s all my code thanks for the help NB: i’m using 30 Picture for 1 Person dataset