Yüzlerce php dosyası içinde 1 adet sql sorgusu var ve bu sql sorgusu benim istemediğim bir değişiklik yapıyor.
Bu SQL sorgusu hangisi, bunu bulmam gerekmektedir. PhpMyAdmin tarafında databaseye gönderilen tüm sql sorgularını sıralı liste halinde görebileceğim bir sistem varmı?
siz bu gibi durumlarda sorguyu nasıl buluyorsunuz?
Gönderilen SQL sorgularını görme
12
●1.554
- 31-10-2017, 14:40:26Kimlik doğrulama veya yönetimden onay bekliyor.
- 31-10-2017, 15:01:46MisafirBenim izlediğim genel yöntem şudur.
Hangi tabloma istemediğim bir değişim geliyorsa tablo adını tüm dosyalarımda aratıp sql içinde geçen yerlerini buluyorum.
İlgili dosyayı bulduğumda sorun eğer ki sql den kaynaklanmıyorsa bu sefer bulduğum dosyanın adını dizinde aratıp nerelerde tetiklendiğini kontrol ediyorum. - 31-10-2017, 15:03:46Yüzlerce dosya olması önemli değil. Önemli olan hangi sayfayı çalıştırdığınız. ve o sayfa içerisinde hangi sayfalar çağrılıyor bu önemli. Mesela hangi sayfaya girdiğinizde oluyor bucrazykurba adlı üyeden alıntı: mesajı görüntüle
- 31-10-2017, 15:12:46eğer sql sorgularını bir fonksiyon ile yapıyorsan o fonksiyonun içerisine sorgudan hemen önce sql komutlarını sessiona kaydettirip kontrol edebilirsin.
bence en sağlıklısıda sql sorgularını fonksiyon içerisinden çalıştırman.
Örnek vermek gerekirse;
$q = "select ad,soyad from kisiler"; $con->query($q);
yerine
$q = "select ad,soyad from kisiler"; $sonuc = sorgucalistir($q); function sorgucalistir($inc){ $_SESSION['sorgular'][] = $inc; $res = $con->query($inc); return $res; }şeklinde bir yapı kullanman. - 31-10-2017, 15:21:51Anlık olarak görmek isterseniz,
SELECT `ID`, `USER`, `HOST`, `DB`, `COMMAND`, `TIME`, `STATE`, LEFT(`INFO`, 51200) AS `Info` FROM `information_schema`.`PROCESSLIST`;
Tüm sorguları kayıt altına almak isterseniz: https://stackoverflow.com/questions/...03905#14403905 - 31-10-2017, 16:46:20Misafir adlı üyeden alıntı: mesajı görüntüleM_D_5 adlı üyeden alıntı: mesajı görüntüleArbalot adlı üyeden alıntı: mesajı görüntülebayGaReZ adlı üyeden alıntı: mesajı görüntüle
Öncelikle cevaplar için herkese teşekkür ederim, ama mesele şu bir başkasının yazmış olduğu bir sistemi düzeltmek için uğraşıyorum,
sistem üzerinde çalışan 700den fazla cron dosyası var, sorunu buldum stoklar bir anda sıfırlanıyor ve geri geliyor ama hangi dosya hangi sql sorgusu bunu sıfırlayıp yeniden stokları yazıyor bunu bulmak için uğraşıyorum. - 01-11-2017, 09:40:31Verdiğim komutları sunucu üzerinde mysql root user ile çalıştırırsanız zaten kodun kim tarafından geldiğini görebilirsiniz. Sistemi kimin yazdığı önemli değil, mysql sunucusuna erişiminiz önemli.
crazykurba adlı üyeden alıntı: mesajı görüntüle - 01-11-2017, 11:44:10Phpmyadmin'de tabloları oluşturdum. (Verdiğiniz link için teşekkürler.)
Yalnız set komutları için yetkim yok görünüyor. Hosting hizmeti aldığım firmaya mı söylemek gerekiyor ?
SET global general_log = 1;
SET global log_output = 'table';
Bu komutları çalıştırmak istediğimde aşağıdaki sonuç dönüyor.
#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
bayGaReZ adlı üyeden alıntı: mesajı görüntüle