@emmir2 son günlerde aynı durum bende de mevcut, artık kan kusturdu desem yalan olmaz. Sürekli yapılandırma problemi, sürekli MySQL port blocked problemi. Söylediğin gibi kurulumu yenilemedikçe sorun bir türlü düzelmiyor.
Net'te birçok düzeltme yöntemi anlatılmış en azından bende hiçbiri işe yaramadı. Skype vb yazılımların neden olduğu söyleniyor ancak bu vb hiçbir yazılım yok bilgisarımda, güncel win11 ancak sorun düzelmiyor. Bende alternatif bir arayışa girdim.
Hocam merak ettiğim şey neden iki tane butonunuz var, "echo" ları ";" ile kapamayı deneyin, birde aldığınız hata nedir?
Hocam sizin kod yapınız aslında "INNER JOIN" yapısı, yani şöyle;
SELECT
form_id,
count(form_id) AS toplam
FROM formlar
INNER JOIN basvuru ON formlar.form_id = basvuru.form_id
WHERE form_id = '58'
GROUP BY formlar.form_id
ancak olması gereken "RIGHT JOIN".
SELECT
form_id,
count(form_id) AS toplam
FROM formlar
RIGHT JOIN basvuru ON formlar.form_id = basvuru.form_id
WHERE form_id = '58'
GROUP BY formlar.form_id
biraz acele yazdım çok vaktim yoktu, umarım yanlışlık yoktur.
Hocam GROUP BY'da işinizi görür diye düşünüyorum;
SELECT * FROM katilimcilar GROUP BY `bayikodu` ORDER BY `bayikodu` ASC
Denermisiniz;
# Eski
$usernameCek=$db->prepare("select * from users where username=? order by user_id ");
# Yeni
$usernameCek=$db->prepare("select * from users where username=?");
Benimde şu anda üzerinde çalıştığım projede büyük bir veritabanı var. Çok fazla tablo ve her tabloda en az 1000 satır veri var, veritabanı büyüklüğü 100 MB civarı. Bazı MySQL sorgularımın süresi 30 sn civarına çıkmıştı. Ancak şimdi en uzun sorgum 5-6 sn civarında.
Bu optimizasyon sonucunda ulaştığım kanaat; MySQL sorgusunu hazırlarken özellikle raporlama yaparken, sorgu girdilerine ne kadar PHP'yi bulaştırmazsam sorgu o kadar hızlı oluyor.
IF / ELSE bloklarımın tamamını sorgu üzerinde kurmaya çalıştım.
Dışarıdan Değer alan Prosedür'ler oluşturarak sorgu sürelerini şaşıracağın değerde düşerebilirsin.
Birde kendi yaptığım hatalar, Sorgu içerisinde alt sorgu veya iç içe sorgu kullanmak yerine bolca JOIN kullanmakta benim çok işime yaradı.
İnsanın başına gelince anlıyor, en azından benim için öyle oldu. İçine girdiğinde MySQL'in "SELECT * FROM" olmadığını anladım.
Reklam kokan hareketler (BENCE)
Ben bu eklentiyi kullanıyorum, işini görür.
Hocam şöyle olabilirmi;
Login sayfasını admin olarak, index sayfanı yönetim olarak değerlendirmek olmazmı. Eğer yanlış anlamadıysam.
Eğer alt sayfaları yüklemek için bir switch case yapısı kullanıyorsanız, GET değerinden yakalayabilirsiniz.