Delphi 2010'u kullanarak uzak bir MySQL sunucusuna bağlanmak için TSQLQuery ve TSQLConnection'ı kullandım. aşağıdaki gibi bir SQL sorgusu kullandık:SQL sorgusunun sonuçlarını nasıl alırım?
SQLQuery1.SQL.Text := 'SELECT * FROM registered WHERE email="'+email+'" and login_pass="'+password+'"';
SQLQuery1.Open; // Open sql connection
Ne listelemek veya bu sorgu tarafından seçilen verileri görüntülemek için ne yapmalıdır? Ben
SQLQuery1['who']; // The resault is : James Kan
yazdığınızda
ben listede en son öğeyi görüntülüyor düşünüyorum. Ama PHP'deki foreach döngüsüyle olabildiğince her bir öğeyi görüntülemek istiyorum. Her bir öğe için nasıl bir TLabel oluşturabilirim?
gibi resultset üzerinde yineleme "SQL Enjeksiyon" izin vermek için olağan bir yoldur. Giriş tablosu için yapın ve akıllı bir kullanıcı tüm tabloyu okuyabilir. "SQL parameters" i kullanmalısınız, yani e-posta =: email ve login_pass =: password. İlk "sıhhileştirme" olmaksızın dizgiyi birleştirmek, bir kullanıcı "uygun" sahnelere girebildiğinden ve sorgunuzu tamamen anlamlandırabileceğinden, tehlikeli bir durumdur. –
Parametreleri kullanmak, değerlerden kaçar, ancak 'NULL' öğesini filtrelemek isteyeceksiniz. Ayrıca, LIKE cümleleriyle '%' ve '_' filtreleyin. –