wm_xfreex adlı üyeden alıntı:
mesajı görüntüle
Database Class
23
●1.695
- 27-04-2009, 11:42:03Üyeliği durduruldubende böyle class kullanıyordum. sonra baktımki bunun yerine projedeki işlemleri class a dönüştürüp bunların farklı databaseler için farklı versionlarını yapmak performans açısındanda daha iyi. vazgeçtim. yinede classa geçiş için güzel mantık ellerinize sağlık
- 27-04-2009, 12:16:51Üyeliği durdurulduBurada söylemek istediğinizi açıkçası anlamadım, SQL komutlarını gönderirken hangi veritabanına gönderilicekse ona göre oluşturulur. Hatalı bir sorgu gönderirseniz o da size hata verir.sdemirkeser adlı üyeden alıntı: mesajı görüntüle
Bu bana bir Nasrettin Hoca Hikayesini hatırlattı. Satıcıdan Ayva isteniyor, o da incir veriyor. Buna kızan müşteri incirleri satıcıya atmaya başlıyor. Satıcı da iyi ki incir vermişim ya Ayva verseydim diyor. - 27-04-2009, 12:58:41Üyeliği durduruldumssql de aynı kodu calistrin hocam demek istedigimiz o. Yani class in içinde veritabanı farklılıklarını içeren kontrollerde olmalı ki aynı şekilde calisabilsinlergogoturk adlı üyeden alıntı: mesajı görüntüle
- 27-04-2009, 13:06:15Zaten query direk yazma olayını da yanlış buluyorum. En temizi stored procedure kullanmak; misal:
DELIMITER ;;
DROP PROCEDURE IF EXISTS dbadi.spadi ;;
CREATE PROCEDURE dbadi.spadi(IN kelime VARCHAR(50))
BEGIN
SELECT * FROM tbl_chat WHERE sutun LIKE '%kelime%' LIMIT 0,9;
END;;
DELIMITER ;
kullanımı:
$row = $baglan->query_wiev("CALL dbadi.spadi"); bununlada çok rahat kullanabilirsin... - 27-04-2009, 13:15:52Üyeliği durduruldumssql de top yerine limit kullanabiliyor musunuz artik yani?gogoturk adlı üyeden alıntı: mesajı görüntüle
- 27-04-2009, 13:20:04Üyeliği durdurulduBurada class ı kullanan MsSQL kullanıyorsa MsSQL e uygun, yok PostGreSQL kullanıyorsa PostGreSQL e uygun sql komutları kullanmalı. Yani ben mysql sorgusunu PostGreSQL e gönderirsem ne olur diye bir soru bence saçma.sdemirkeser adlı üyeden alıntı: mesajı görüntüle
Bunlarla ilgili bir sürü kontrol kodu ekleyerek yazılan Class ın şişirilmesi de gereksizdir. Tabii bu benim görüşüm, farklı düşünenlere de saygı duyarım. - 27-04-2009, 13:25:37Üyeliği durduruldukullandığım sql server a göre sql göndereceksem hahuseyin66 adlı üyeden alıntı: mesajı görüntüle
switch($sqlTipi){ case 'mssql'; // top sql i içeren sql gönder break; case 'mysql'; // limit içeren sql gönder break; }yada bunu yapmisim;
switch($sqlTipi){ case 'mssql'; mssql_query("top komutu içeren sql") break; case 'mysql'; mysql_query("limit içeren sql"); break; }ikisi arasinda kod yazmak olarak bi avantaj yok. performans olarak düşünürsek ikincisi daha hızlı olmuş olur araya birde class katmanı girmedigi için.
o zaman neden class kullanayım ki,
Class kullanacaksam classın gönderdigim sql üzerinde metinsel düzenleme yapması gerekiyor.
Birde sonuçta her sql i değiştirecek diye birşey yok.Tutupta tüm sql farkılıklarını yazmak zorunda degilim yani.kendi kullandığım temel sql farklılıklarını düzentlesi yeterli olur bence