Suan ‘Php’ Kategorisindesiniz

Mysql veri turleri

Posted by admin on Eyl-28-2007

MySQL’de bir çok veri türü oluşturulabilir. Ancak Web programları açısından önemli olan bir kaçı ve özellikleri şöyle saralanabilir:

INT Tamsayı: -2147483648′den 2147483647 kadar değişen diziye “signed” (işaretli), 0′dan 4294967295′e kadar değişenine “unsigned” (işaretsiz) denir.

VARCHAR(n) n sayısını geçmemek şartıyla değişen boyutta karakter olabilir.

CHAR(n) Kesinlikle n sayısı kadar karakter olabilir.

TEXT En fazla 65535(2^16-1) karakter alabilen metin alanı.

MEDIUMTEXT En fazla 16777215(2^24-1) karakter alabilen metin alanı.

DATE 1000-01-01′den 9999-12-31′e kadar değişebilen tarih alanı.

TIMESTAMP 1 Ocak 1970′den 18 Ocak 2038′e kadar olan ve Yıl+Ay+Gün+Saat+Dakika+Saniye biçimindeki zaman bilgisi.

MySQL’de bir tablo oluşturmak için gerekli CREATE TABLE komutu şöyle kullanılır:

CREATE TABLE uyeler (adi VARCHAR(30), soyadi VARCHAR(30), üye_no INT ) ;

Bu komutla, “uyeler” isimli üç sütunlu bir tablo oluşturulur: birinci ve ikinci sütunlarda en fazla 30, karakterlik değişen boyutta alfanümerik değerler yer alırken, üçüncü sütunda sadece tam sayı olan değerler bulunabilir. Bu komutla oluşturulan tabloya INSERT INTO komutuyla veri girebilirsiniz:

INSERT INTO uyeler (adi, soyadi, uye_no) VALUES (’Muharrem’,'Taç’,'1234′)

Bir tablonun oluşturulması ile içine veri yerleştirilmesi komutları ayrı ayrı zamanlarda, ayrı işlemler olarak yapılabileceği gibi, toplu bir metin halinde, otomatik olarak da yapılabilir.

MySQL veritabanından bilgi edinmek için SELECT komutunu kullanırız:

SELECT * FROM uyeler ;

Bu, MySQL’e, uyeler adlı tablodaki bütün değerlerin okunmasını bildirir. Buradaki “*” işareti, “bütün sütunlardaki bütün değerler” anlamına gelir. Diyelim ki yukardıda oluşturduğumuz tablonun sadece “adi” ve “soyardi” sütunlarındaki bilgileri almak isteseydik, bu komutu şöyle yazacaktık:

SELECT adi soyadi FROM uyeler ;

Bir veritabanındaki bilgilerin yenileriyle değiştirilmesini, yani veritabanı dosyasının güncelleştirilmesini UPDATE komutu sağlar. Bu komutu kullanarak veritabanımızdaki bazı kutucukların içindeki bilgileri değiştirebiliriz. Veritabanı dosyalarını güncelleştirme zorunluğu bulunması ise bize veritabanı tasarımının çok önemli olduğunu gösterir. Örneğin:

UPDATE uyeler SET adi = “Şahika” ;

Bu komut, veritabanındaki bütün satırlarda, birinci sütundaki değerleri “Şahika” olarak değiştirmekle sonuçlanırdı. Amacımız bu ise, sorun değil; ancak çoğu kez MySQL’e hangi satırda (veritabanı tekniğindeki terimle söylersek, hangi kayıtlarda) değişiklik yapılacağını daha ayrıntılı sölememiz gerekir. Veritabanı dosyamızı oluştururken, her kaydın diğer kayıtlarda olmayan (unique) bir sütun (bunu da veritabanı tekniğindeki terimle söylersek. alan) bulunmalıdır, ki MySQL’e yapılacak değişikliğin tam yerini söyleyelim. Örneğin

UPDATE uyeler SET adi = “Şahika” WHERE uye_no = 1234;

MySQL bu komutu alınca sadece üye numarası 1234 olan kişinin (yani uye_no alanındaki değer 1234 olan kaydın) “adi” alanındaki değeri silecek ve yerine verdiğimiz yeni değeri yazacaktır. Böyle birincil alanı bulunan, iyi düşünülmüş bir veritabanından seçim yapmak da kolay olur. Örneğin:

SELECT adi soyadi FROM uyeler WHERE uye_no >= 123;

deyimi ile tablomuzda bulunan kayıtlardan sadece üye numarası 123′den büyük olanları seçebiliriz.

Bir MySQL veritabanındaki kaydı silmek için DELETE komutunu kullanırız:

DELETE FROM uyeler WHERE uye_no = 1234;

Vveritabanında sadece bir kayıtta üye numarası 1234 olacağı için bu komutla sadece bir satır silinecektir. Bu komutu, diyelim ki üyelik kaydını yenilememiş kişilerin tümünü silmek için de kullanabiliriz. Veritabanımızda üyelik kaydının yenilendme tarihini gösteren bir alan bulunduğunu varsayalım:

DELETE FROM uyeler WHERE yenileme_tarihi < 2000-01-31;

Bu komutla, üyeliğini yenileme tarihi 31 Ocak 2000′den eski olan bütün üyelerimizin kaydını veritabanından silmiş oluruz.

Bu komutların MySQL’in DOS komut işlemcisi ile komutsatırından yapılacağını belirtmemiz gerekir. Bunu yapabilmek için MySQL Server’ın Windows’da çalıştırılması gerekir. MySQL’in paylaşım sürümünü kullanmak için Windows sistemlerinde mysqld-shareware.exe programını çalıştırmanız gerekir. Bunun için DOS komut istemcisi penceresinde “C:/mysql/bin” dizinine giderek, şu komutu vermemiz yeter:

mysqld-shareware

MySQL sürücülerinizin kişisel Web sunucusunda başarıyla çalıştığına, kitapçığın baş tarafında belirttiğimiz küçük alıştırmayı yaparak emin olduktan sonra gerçek bir veritabanı dosyası yazabiliriz.

Yukarıda gördüğümüz komutları komut istemci satırından tek tek verebileceğimiz gibi, bir düzyazı dosyasında toplayıp, MySQL programına da otomatik olarak yaptırabiliriz. Bu dosyaya, içindeki verileri alıp veritabanına boca edeceğimiz için, Dump dosyası denir.

Aşağıdaki metni MySQL programının kurulu olduğu dizindeki /bin/ alt-dizinine (muhtemelen c:mysqlin) veri.dump adıyla kaydedin (Notpad kullanıyorsanız, dosya adına .txt eklendiğine dikkat edin!)

CREATE TABLE calisanlar ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), adi VARCHAR(20), soyadi VARCHAR(20), adres VARCHAR(60), pozisyon VARCHAR(60));

INSERT INTO calisanlar VALUES (1 , ‘Sahika’ ,’Tabak’ ,’PCLife Dergisi, Istanbul’ , ‘Yazar’);

INSERT INTO calisanlar VALUES (2 , ‘Muharrem’ , ‘Tac’ , ‘Işık Kultur Merkezi, Bursa’ , ‘Yonetmen’);

Bu metnin sadece üç satır olmasına, örneğin Notpad’de Düzen menüsünde Sözcük Kaydır maddesinin işaretsiz olmasına dikkat edin. Daha sonra yine DOS komut istemcisi penceresinde MySQL programının dizininde /bin alt-dizinine gidin ve şu komutu yazın:

mysqladmin -u root create veri

MySQL veri adlı veritabanının oluuştuğunu bildirecektir. Şimdi içi boş bir veri dosyamız oldu. Yazdığımız dump dosyasındaki bilgileri veritabanı dosyasına işletmek işini MySQL yapacakatır. Bunu, şu komutla yapabiliriz:

mysql -u root veri < veri.dump

İşlerin yolunda gidip gitmediğini c:mysqldata dizininde veri adlı bir klasör oluşturulduğunu kontrol ederek anlayabiliriz. Bu klasörün içinde calisanlar.frm, calisanlar.isd ve calisanlar.ism adında dosyalar bulunması gerekir.

iRcDe.Com irc ircd ircde Mirc mrc program Haber sitesinde Bu yazı toplamda 4, bugün ise 0 kez görüntülenmistir

Mysql Kurulumu

Posted by admin on Eyl-28-2007

PHP, Windows ortamında, Windows’un ODBC sürücülerini kullanarak, sürücüsü bulunan bütün veritabanlarına ulaşabilir. Ancak Windows ortamında geliştirseniz bile, Web sitenizi, Unix tabanlı ve ODBC-uyumlu olmayan bir sunucuya gönderebilirsiniz. Bu durumda sayfalarınızda kullanacağınız verileri muhtemelen MySQL aracılığıyla veritabanından çekeceksiniz demektir. Bu yüzden Windows sisteminize MySQL kurmak ve veritabanlarını bu araçla geliştirmeniz yerinde olur. Unix/Linux ortamında ücretsiz olmakla birlikte MySQL, Windows için bedeli paylaşımlı (shareware) olarak edinilebilir. Benioku dosyasında belirtildiğine göre, programı eğitim amacıyla ve 30 günü aşmamak kaydıyla kullanıyorsanız, ücret ödenmesi gerekmiyor. Diğer durumlarda TCX firmasının Internet’te http://www.tcx.se adresindeki sitesindeki formları doldurarak lisans alınması gerekiyor. Bu programı, MySQL’in http://www.mysql.com/downloads/ adresinden edinebilirsiniz. Bu adresteki mysql-shareware-3.22.34-win.zip dosyasını alarak, bir geçici dizinde açın. (Sisteminiz gerçek Internet sunucusu olarak ticarî amaçlı hizmet sağlayacaksa şu dosyayı almanız gerekir: http://www.mysql.com/Downloads/MySQL-3.23/mysql-3.23.21-win-src.zip) Shareware sürümünü içeren dosyayı açtığınızda ortaya çıkacak setup.exe programı MySQL’i kuracaktır.

MySQL Server’ın Windows’da da tıpkı Linux’ta olduğu gibi çalıştırılması ve durdurulması gerekir. MySQL’in paylaşım sürümünü kullanmak için Windows sistemlerinde mysqld-shareware.exe programını çalıştırmanız gerekir. DOS komut istemcisini açın ve “C:/mysql/bin” dizinine giderek, sırasıyla şu komutları verin:

mysqld-shareware

mysqlshow

mysqlshow -u root mysql

mysqladmin version status proc

Şimdi MySQL server çalışıyor ve biraz sonra PHP yoluyla kişisel Web Server’ınıza hizmet vermeye hazır demektir. Bu komutları icra ettiğiniz sırada bir hata mesajı ile karaşılaşırsanız, MySQL’in kuruluşunda hata yapmış olabilirsiniz. DOS ekrarında test ve MySQLl veri tabanlarının varlığını ve hizmete girdiğini gösteren mesajlar görürseniz, MySQL güzelce çalışıyor demektir. Bunu bir de Browser ile ve PHP yoluyla sınayalım:

Yukarıda IIS’e PHP desteği kazandırma çalışmaları sırasında oluşturmadı iseniz, düz yazı programınızda şu tek satırı yazın; php.php adıyla, kişisel Web’inizin kök dizinine kaydedin:

Browser’ınızı açın; URL hanesine örneğin http://localhost/PHP.PHP3 yazın. Açılacak sayfada iki şeye dikkat edin: MySQL ve ODBC bölümleri var mı? MySQL bölümü varsa; kendinizi yeniden kutlayın! ODBC bölümü yoksa, muhtemelen sisteminizde Microsoft’un Open Database Connectivity (Açık Veribanı Bağlantısı) sürücüleri kurulu değil demektir. (Windows’da Denetim Masası’nda ODBC simgesini görmüyorsanız, MS’un sitesinden gerekli kur programını indirmeniz gerekebilir. Linux’ta ise MyODBC programı ile bu imkanı kazanabilirsiniz.)
Bir kere daha tekrar etmek gerekirse, PHP ile veritabanına dayanan sayfalar yapmak için mutlaka ve sadece MySQL sürücülerini kullanmak gerekmez. Bunun yerine MS’un ODBC sürücülerini kullanabilirsiniz. Ancak Web sitenize evsahipliği yapan firmanın size ODBC desteği verip vermediğini öğrenmeniz gerekir. Aslında aynı şekilde, evsahibi firmanın MySQL desteği verip vermediğini de öğrenmek zorundasınız. (PHP ile MS-ODBC sürücülerini kullanabilmek için Andrew Stopford’un ASPToday sitesindeki http://www.asptoday.com/articles/20000202.htm yazısında geniş bilgi bulabilirsiniz.)

iRcDe.Com irc ircd ircde Mirc mrc program Haber sitesinde Bu yazı toplamda 10, bugün ise 0 kez görüntülenmistir

PHP

Posted by admin on Eyl-28-2007

Günümüzde Internet’te ne kadar güvenlik önlemi alınsa, yeridir. Sadece iyi niyetli olmayan kişilere karşı değil, fakat daha çok ne yaptığını tam bilmeyen Web ziyaretçilerini de düşünmek ve PHP programlarınızın güvenliğini arttırmak zorundasınız.
Internet’te iyiniyetli olunmaz. Acı, ama gerçek. Internet’e içine zararlı kod yerleştirilebilecek bir Form koyarsanız, emin olmalısınız ki, birisi bu zararlı kodu koyacaktır. Sadece kötüniyetli kişilerin size söz gelimi elektronik posta adresi veya mesaj görünümünde zararlı kod göndermesini önlemek için değil, fakat normal kullanıcıların yapabilecekleri sıradan hataları yakalamak ve düzeltmek için de önlem almanız gerekir.
Server güvenliği son derece önemli bir konu olmakla birlikte, bunu sağlamak genellikle tasarımcının sorumluluğunda değildir. Bununla birlikte sayfalarımızın ve veritabanımızın güvenliği ve Web uygulamalarımızın doğru işlemesi bizden sorulur.
Bir form ile sizin sayfalarınıza veya veritabanınıza ne gibi zararlar verilebilir? Bu zararların başında, en hafifinden sizin sayfanızı başka yere yönlendirmek gelebilir. Kötüniyetin ölçüsü arttıkça bu, Server programının açıklarından yararlanarak, Server’daki dosyaları değiştirmeye veya tahrip etmeye kadar gidebilir. Normal ziyaretçi hataları arasında ise sözgelimi elektronik posta adresini iki @ işaretiyle yazmaktan tutun, bu işareti koymamaya, metktubun gideceği bilgisayarın adresini eksik yazmaya kadar uzanan bir dizi yanlışlık bulunabilir. Ziyaretçiler formu eksik doldurabilirler. Bu gibi eksiklikler ve yanlışlıkları daha sonra düzeltmek zaman kaybına yol açar. Kimi zaman eksik doldurulmuş bir Form, bu bilgilerin ulaştırılacağı programda hataya yol açabilir. Bu sebeple, özellikle Form yoluyla alınan bilgilerin denetimi ve doğrulatılması şarttır.
Bir Form’un içerdiği bilgilerin denetimi ve doğrulanması iki yerde yapılabilir: istemci-tarafında, sunucu-tarafında. İstemci tarafında, yani ziyaretçiye göndereceğimiz HTML sayfasının içinde yer alan kodlarla yapacağımız denetim-doğrulama, hızlı çalışır; ve ziyaretçi ile sunucu arasında iletişim kurulmadan önce yapılır; böylece ziyaretçinin sözgelimi gönder düğmesini tıkladıktan sonra çok beklemesi gerekmez. Ne var ki bu yöntemde denetim-doğrulama kodu ziyaretçiye gönderilmiştir; kötü niyetli kişi neyi denetlediğinizi görecek ve isterse bu denetimi kaldıracak size zararlı kod parçacıkları gönderebilecektir. Denetimin sunucu tarafında yapılması, belki biraz daha fazla zaman harcamayı gerektirir, fakat güvenlik açısından daha etkili olabilir. Elektronik posta adresi doğırulama ve mesajların içinden zararlı kodları ayıklama yöntemlerinden Düzenli İfadeler bölümünden söz ettik. Orada ele aladığımız örnek kodlar geliştirilerek ziyaretçilerin girdilerinde daha sıkı aramalar yapılabilir.

iRcDe.Com irc ircd ircde Mirc mrc program Haber sitesinde Bu yazı toplamda 7, bugün ise 0 kez görüntülenmistir

Mirc hikayede sohbet