php ile mysql de kullanıcı varmı sorgusu.

Başlatan ecarpar, 26 Ağustos 2011 - 12:00:55

« önceki - sonraki »

0 Üyeler ve 5 Ziyaretçi konuyu incelemekte.

ecarpar

iki farklı yöntem var .

1.)

$varmi = mysql_num_rows(mysql_query("select KullaniciAdi from uye where KullaniciAdi='$yeniKullaniciAdi '"));
if ($varmi > 0){echo "var" ;}


2.)


   $kontrolKullaniciAdi = mysql_query("SELECT * FROM  $tbl_name WHERE KullaniciAdi='" . $yeniKullaniciAdi . "'");
if ($dev = mysql_fetch_array($kontrolKullaniciAdi)){
     
     echo "aha var bu adam " . $yeniKullaniciAdi;

}


İlk sorum
Hangisini önerirsiniz. Hangisi daha kullanılır.


Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

yakusha

http://www.eburhan.com/eburhan-vt-class-v1-5-yayinlandi/ kullanıyorum... basit geldi...

kimileri code integer kullanıyor... henüz bana nasip olmadı...
Artık bu forumu kullanmıyor.

ecarpar

yakusha teşekkür ederim fakat yapmaya çalıştığım şeyiy aparken bir başkasının hazırlamış olduğu bir şeyi kullanmak pek bana göre değil. Aynı şekilde hazır kod blokları istemekte bana göredeğil, ben bir başkasının yaptığı birşeyi kullanmaya değil kendim yapmaya çalışıyorum. ilginden ötürü teşekkür ederim Bakılıp örnek alınacak bir iş olduğundan eminim, fakat ben önce hatalarıyla yapmak istiyorum :)
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

hckr

Alıntı yapılan: ecarpar - 26 Ağustos 2011 - 13:29:32
yakusha teşekkür ederim fakat yapmaya çalıştığım şeyiy aparken bir başkasının hazırlamış olduğu bir şeyi kullanmak pek bana göre değil. Aynı şekilde hazır kod blokları istemekte bana göredeğil, ben bir başkasının yaptığı birşeyi kullanmaya değil kendim yapmaya çalışıyorum. ilginden ötürü teşekkür ederim Bakılıp örnek alınacak bir iş olduğundan eminim, fakat ben önce hatalarıyla yapmak istiyorum :)
PHP'yi öğrenmeye mi çalışıyorsun yoksa uygulama mı geliştiriyorsun bilmiyorum.
Amacın PHP öğrenmekse söylediğin gibi kendin bir şeyler yapmalısın.
Ama eğer uygulama geliştiriyorsan;
@yakusha'nın önerdiği sadece bir veritabanı sınıfı. O sınıfı kullanarak kodlarını daha okunabilir,anlaşılabilir,düzanlenebilir hale getirebilirsin.
Bu bir avantajdır. Kodlar da açık olduğu için istediğin düzenlemeyi yaparsın.Bu kötü bir şey değildir.Yada senin yaptığın işi o sınıfın yazarının yaptığı anlamına gelmez.
Mesela masaüstü yazılımı geliştirmek istiyoruz.Gidip GTK,QT kütüphanelerini kullanıyoruz.Bunlar da başkalarının hazırladıkları.Gidip de yeni bir kütüphane hazırlayayım mı diyoruz?
Bu başkalarının hazırladıkları sınıfı,şunu bunu iyi bir yazılımcı olmak için kullanmıyorsan iyi yazılımcının tarifi aşağıdadır.
"İyi yazılımcı en az tuşa basarak,en fazla işi başarabilendir."
Bu tür sınıfları kullanmak o sınıfları yüklenmek demek değildir.O sınıfların üzerine koymak demektir.
Ama eğer illa ben başkasının hazırladığı bir sınıfı kullanmak istemiyorum diyorsan benzer bir sınıfı kendin oluşturmalısın.
Bunlar benim görüşlerimdir,tavsiyelerimdir. İyi bir yazılımcı da değilim.Sadece olmaya çalışıyorum.

alquirel

Denildiği gibi amaç öğrenmekse bunun en iyi yolu deneme yanılmadır.
Bir ürün ortaya koymak söz konusu olduğunda da öğrenmeyi dışlamamak lazım.
Yani tamamen hazır kodlar kullanacaksanız bile o kodların ne demek istediğini anlar hale gelmiş olarak kullanmaya başlamak bence asıl yapılması gereken şey. Kendimi iyi PHPci sınıfına koyamam asla ama kendimden örnek vermek istiyorum.
Ben framesetlerle site yapıldığı zamanlarda başladım site işine, hep baka baka okuya okuya bir şeyler üretmeye çalıştım. Kendi deneyimlerimle bazen basit sınıflar oluşturdum.
Ama şuan geldiğim noktada site kuracağım zaman ilk adresim wordpress oluyor :) wordpress harici bir şey yapacağım zaman hazır veritabanı sınıfları ve hazır üyelik sistemleri kullanıyorum.
Bu gereksiz kişisel reklamdan sonra sözümün özü hazır kodlar kullanmak güzel şey, yeterli PHP bilgisinden sonra hazır kodlar kullanmak çok güzel şey, ileri seviye PHP bilip tüm açıkları kapatacak şekilde kendi geliştirdiğin bir sistemi kullanmak ise tadından yenmeyecek bir şey ;)

Soruya da cevapsız geçmeyelim.
mysql_num_rows iki seçenek arasından bence daha mantıklı olanı. Alternatif olarak mysql_affected_rows işlevini de kullanabilirsin.

ecarpar

#5
Alıntı yapılan: hamzaxx - 26 Ağustos 2011 - 14:37:40
Alıntı yapılan: ecarpar - 26 Ağustos 2011 - 13:29:32
yakusha teşekkür ederim fakat yapmaya çalıştığım şeyiy aparken bir başkasının hazırlamış olduğu bir şeyi kullanmak pek bana göre değil. Aynı şekilde hazır kod blokları istemekte bana göredeğil, ben bir başkasının yaptığı birşeyi kullanmaya değil kendim yapmaya çalışıyorum. ilginden ötürü teşekkür ederim Bakılıp örnek alınacak bir iş olduğundan eminim, fakat ben önce hatalarıyla yapmak istiyorum :)
PHP'yi öğrenmeye mi çalışıyorsun yoksa uygulama mı geliştiriyorsun bilmiyorum.
Amacın PHP öğrenmekse söylediğin gibi kendin bir şeyler yapmalısın.
Ama eğer uygulama geliştiriyorsan;
@yakusha'nın önerdiği sadece bir veritabanı sınıfı. O sınıfı kullanarak kodlarını daha okunabilir,anlaşılabilir,düzanlenebilir hale getirebilirsin.
Bu bir avantajdır. Kodlar da açık olduğu için istediğin düzenlemeyi yaparsın.Bu kötü bir şey değildir.Yada senin yaptığın işi o sınıfın yazarının yaptığı anlamına gelmez.
Mesela masaüstü yazılımı geliştirmek istiyoruz.Gidip GTK,QT kütüphanelerini kullanıyoruz.Bunlar da başkalarının hazırladıkları.Gidip de yeni bir kütüphane hazırlayayım mı diyoruz?
Bu başkalarının hazırladıkları sınıfı,şunu bunu iyi bir yazılımcı olmak için kullanmıyorsan iyi yazılımcının tarifi aşağıdadır.
"İyi yazılımcı en az tuşa basarak,en fazla işi başarabilendir."
Bu tür sınıfları kullanmak o sınıfları yüklenmek demek değildir.O sınıfların üzerine koymak demektir.
Ama eğer illa ben başkasının hazırladığı bir sınıfı kullanmak istemiyorum diyorsan benzer bir sınıfı kendin oluşturmalısın.
Bunlar benim görüşlerimdir,tavsiyelerimdir. İyi bir yazılımcı da değilim.Sadece olmaya çalışıyorum.


Ben yaparak öğrenme yolunu seçtim, proje yaparken işi çok daha iyi öğreneceğimi düşünüyorum, doğrudan 3-5 sorgu ezberleyip öğrendim ben bu işi demek benim tarzım değil.
Hazır kütüphaneler kullanılır elbette fakat piyasada o kadar çok bu kütüphaneleri kullanarak ben bu işi biliyorum diyen adam varki onlardan olmak istemiyorum, sıkışırsam bu kütüphaneyi mutlaka yaza bilmeliyim.. Hep hazırı kullanmayı seven biri değilim.

alquirel
Çok sağol birilerinin kodunu okumak çok zor gelmesede ne işe yaradığınıb ilmediğim şeyler çıkınca karşıma onları araştırmak bana zevk veriyor, ama kitliyorda zaman zaman..

Misal ben şu
=>
->
gibi ifadeleri anlıyamadım bir türlü. bunları için bir kaynak varsa sevinirim. Birinin bana bunları anlatmaya çalışmasını istemiyorum. Anladığım yerleri anlayıp anlamadığım yerlerde sormam daha mantıklı.
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

mcihad

mysql_num_rows kullan fakat değişkenleri direk olarak sql cümlesine ekleme
mysql_escape_string, preg_match gibi fonksiyonlarla veriyi filitrele. Aksi halde sql injection saldırısına maruz kalabilirsin.

susunx

sana tavsiyem o kadar kafanı karıstırma.



$sql = mysql_query("Select * from uyetablon where kullanici_adi='$gelen_deger'");
$kontrol = mysql_num_rows($sql);
$yaz = mysql_fetch_array($sql);
if($kontrol>0) {
echo $gelen_deger ." Kullanıcı adında bir kullanıcı adı var... ";
} else {
echo "Kullanıcı adı bulunamadı..";
}


fatihuzuner

Konuyu hortlatacağım ama denemelerime göre en hızlısı şu.
Alıntı Yap

<?php
$sorgu=mysql_query('SELECT COUNT(sira) AS toplam FROM kullanicilar WHERE kullaniciadi="'.$kullaniciadi.'" LIMIT 1');
$dizi=mysql_fecth_assoc($sorgu);
if($dizi['toplam']==1)
echo 'kullanıcı var';
else
echo 'kullanıcı yok';