Tam Sürümünü Görmek İçin : Mysql ye veri gönderirken.
Arkadaşlar.
MySQL'de bir tabloya hikaye yazdırdırdım fakat aynı hikaye türkçe karakterli şekilde birdaha gönderdiğimde yine ekliyor. bunu kontrol ettiremezmiyim?
yani "çaykaşığı" yazdığımda eklerse "caykasigi" yazdigimda zaten var demesini istiyorum. tabi bu bir kelime aynı şey bir metin içinde geçerli. Bunu nasıl kontrol ettirebilirim ?
Mingitau
12/12/2002, 09:15
Biraz uzunca olur pek bişi diyemiyorum....
mkarabulut
12/12/2002, 09:41
Sanırım sadece veritabanı ile halledemezsin bu sorunu..
PHP kullanıyorsun sanırım, biraz php kodu yazman gerekecek.. Fikir vermesi açısından şöyle bi şeyler karaladım..
function cevir($str){
/* Tr karakterleri çevir */
$str=str_replace("ı","i",$str);
$str=str_replace("ü","u",$str);
$str=str_replace("ğ","g",$str);
$str=str_replace("ç","c",$str);
$str=str_replace("ö","o",$str);
$str=str_replace("ş","s",$str);
$str=str_replace("İ","I",$str);
$str=str_replace("Ü","U",$str);
$str=str_replace("Ğ","G",$str);
$str=str_replace("Ç","C",$str);
$str=str_replace("Ö","O",$str);
$str=str_replace("Ş","S",$str);
return $str;
}
/* Mesela post ile alıyoruz */
$word = $_POST['word'];
$wordc = cevir ($word);
$query = "INSERT INTO tablo (alanadi) VALUES ('$wordc') ";
$query.= "WHERE NOT EXISTS (SELECT * FROM tablo WHERE alanadi='$word' OR alanadi='$wordc' )";
mysql_unbuffered_query($query);
Umarım biraz fikir verir...
Kolay gelsin..
mkarabulut
12/12/2002, 09:52
Yalnız küçük bi dip not EXISTS syntax'ı mysql 3.23 de henüz yoktu... hangi versiyondan itibaren desteklendiğini bilmiyorum..
Daha doğrusu desteklendiğini de bilmiyorum :)
Eğer çalışmazsa iki sorgu ile işini halledebilirsin...
Kusura kalmayın...
mkarabulut
12/12/2002, 11:21
Pardon pardon..
EXISTS INSERT ile beraber kullanılmıyormuş...
Offff.. Milletin kafasını bayağı karıştırdım sanırım... Kusura bakmayın...
Scorpion
12/12/2002, 13:33
mkarabulut denmek yenilik demek ......
peki bu (EXISTS) ne demek?
sokrates
12/12/2002, 14:27
Orjinal mesajı gönderen Scorpion
mkarabulut denmek yenilik demek ......
peki bu (EXISTS) ne demek?
cok iyi ya:super:
Scorpion
12/12/2002, 15:16
:D
birakin ceylani
kossun biraz :D :D :D
mkarabulut
13/12/2002, 09:42
Ortalığı karıştırdım biraz yine.. :)
Gene de EXIST kelimesini biraz açarak belki yardımcı olabilirim ...
EXIST kelimesi bir sorgu sonucunda kayıt dönüp dönmemesini kontrol eder.. Ve dönen kayıt sayısı 0 dan büyükse yani kayıt varsa TRUE, kayıt yoksa yani kayıt sayısı 0 ise FALSE dönderir. TRUE ve FALSE söz konusu olduğu için EXIST'in WHERE ile kullanıldığını da anlamışsınızdır sanırım.. Bir örnek
Mesela kayıtlarından en az birisinin numarası 0 dan büyük olan tablonun tüm kayıtlarını veya belirli kayıtlarını dönder...
SELECT * FROM tablo WHERE
EXISTS (SELECT * FROM tablo WHERE no > 0)
veya hiç bi kayıdının numarası 0 olmayan tablonun bazı elemanları..
SELECT * FROM tablo WHERE
NOT EXISTS (SELECT * FROM tablo WHERE no=0)
AND
ad like 'm%'
Aynı zamanda EXISTS kelimesinin kullanıldığı bir yerde CREATE TABLE işlemi..
Eğer elemanlar tablosu yoksa elemanlar tablosunu oluştur sorgusunu şöyle yaparız..
CREATE TABLE IF NOT EXISTS elemanlar (
eleman_id INT auto_increment,
eleman_isim VARCHAR(100),
PRIMARY KEY (eleman_id)
)
Aynı zamanda DROP TABLE ile de bu syntax'ı kullanmak mümkün...
DROP TABLE IF EXISTS elemanlar
Kaynaklar,
http://members.tripod.com/er4ebus/sql/
http://www.mysql.com/doc/en/DROP_TABLE.html
http://www.mysql.com/doc/en/CREATE_TABLE.html
Kolay gelsin...
Scorpion
13/12/2002, 10:58
:)
Saol
Teşekkürler arkadaşlar :) bilgisayarımı yapınca hemen sonucu sizlere bildirecem :) iyi habelerle dönmek umidi ile .
mkarabulut
17/12/2002, 08:38
İkinci sormuş olduğun soruyu daha çok PHP ile ilgili olduğu için PHP forumuna aldım..
http://forum.ceviz.net/showthread.php?s=&threadid=1741
Kolay gelsin.
Forum Yazılımı : vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.