Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Benzer belgeler
İnternet Programcılığı

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

Oracle da kullanılan veri tipleri:

Veritabanı Uygulamaları Tasarımı

Veri Tabanı-I 1.Hafta

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

1 Temel Kavramlar. Veritabanı 1

VERİ TABANI YÖNETİM SİSTEMLERİ

SQL e Giriş. Uzm. Murat YAZICI

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

Veri Tabanı Yönetim Sistemleri Bölüm - 3

PHP ile İnternet Programlama

VERİ TABANI UYGULAMALARI

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

VERİ TABANI YÖNETİM SİSTEMLERİ

İÇERİK YÖNETİM SİSTEMİ (CMS) Bir web sitesi yayınlamak için yapılması gerekenler:

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

Veri Tabanı Hafta Dersi

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

MOBİL UYGULAMA GELİŞTİRME

VERİ TABANI YÖNETİM SİSTEMLERİ-II

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Asp.Net Veritabanı İşlemleri

1.PROGRAMLAMAYA GİRİŞ

SORGULAR VE ÇEŞİTLERİ II

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

2 Temel Kavramlar (Devam) Veritabanı 1

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

Kets DocPlace LOGO Entegrasyonu

MySQL'e Giris. Eger bir sorun ile karsilasmadan veritabanina baglanabildiyseniz karsiniza asagidaki gibi bir ekran gelecektir.

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

Veritabanı. Ders 2 VERİTABANI

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.

Bölüm 10: PHP ile Veritabanı Uygulamaları

Bölüm 4: DDL Veri Tanımlama Dili

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

KDV Beyannamesinin ekinde verilen Kısmı Tevkifat Uygulaması Kapsamındaki İşlemlere Ait Bildirim, Muhasebe IV modülünden hazırlanabilir.

13 Mayıs İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler : Genel

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

Üst Düzey Programlama

T.C. SAKARYA ÜNİVERSİTESİ ADAPAZARI MESLEK YÜKSEKOKULU WEB TABANLI VERİ TABANI UYGULAMASI YÖNLENDİRİLMİŞ ÇALIŞMA. Enes Al 1027.

Coslat Monitor (Raporcu)

Veri Tabanı-I 5.Hafta

BİLİŞİM TEKNOLOJİLERİ

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

TachoMobile Web Uygulaması v1.00.

Proticaret Exclusive Versiyon Yükseltme Dokümanı(v.3.0'dan v3.1.0'a)

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

VERİ TABANI YÖNETİM SİSTEMLERİ I

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.

VERİ TABANI ve YÖNETİMİ

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

Internet Programming II

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

UZAKTAN EĞİTİM MERKEZİ

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

BİLİŞİM TEKNOLOJİSİNİN TEMELLERİ DERSİ

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

Veritabanı Tasarımı. Basit Eşleme: Dönüşüm İşlemi

Öğrenciler için Kablosuz İnternet Erişimi (Wi-Fi) Kullanım Kılavuzu

VERİ TABANI YÖNETİM SİSTEMLERİ I

Ortamınızda A.D. veya LDAP sistemi var ise aşağıdaki linkten KoruMail LDAP-AD isimli dokümanı inceleyebilirsiniz.

ÜNİTE İÇERİK YÖNETİM SİSTEMİ İÇİNDEKİLER. Okt. Mustafa AKBUĞA HEDEFLER WORDPRESS KURULUMU

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Proticaret Exclusive Versiyon Yükseltme Dokümanı(v.3.2.0'dan v3.2.1'e)

Coğrafi Bilgi Sistemlerine Giriş. Ünite 5 - Veri Tabanı Yönetim Sistemleri

E-Posta Yönetimi. E-Posta Açma, Silme ve Yönetim Kılavuzu

08217 Internet Programcılığı I Internet Programming I

Kurulum ve Başlangıç Kılavuzu. DataPage için

Veri Tabanı-I 1.Hafta

ÇANKRI KARATEKİN ÜNİVERSİTESİ

İNTERNET PROGRAMCILIĞI DERSİ

MOODLE UZAKTAN ÖĞRETİM SİSTEMİ

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Beyhan KARPUZ, Uzman Kütüphaneci Karadeniz Teknik Üniversitesi 2016

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Miron Yazılım Entegre Uygulamalar (Mironist.NET Yılsonu Devir)

Veritabanı Tasarımı. Seriler ile Çalışma

E-UYGULAMALAR VE DOKÜMAN YÖNETİM SİSTEMİ PROJESİ (EUP) ECZANE İŞLEMLERİ KULLANIM KILAVUZU

E-Mükellef Kontrol Programı Kullanım Kılavuzu

30 Mayıs ETASQLMNG Programına giriş

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Kurulum ve Başlangıç Kılavuzu. DataPage için

ÜNİTE İÇERİK YÖNETİM SİSTEMİ İÇİNDEKİLER. Okt. Mustafa AKBUĞA HEDEFLER WORDPRESS KURULUMU

1 Temel Kavramlar. Veritabanı 1

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

Veritabanı Tasarımı. Tablo Oluşturma

@6 SERİSİ ÜRÜN KURULUMU

Transkript:

1 PHP ile Veritabanı İşlemleri Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı düzenli bilgiler topluluğudur. Bilgisayar terminolojisinde, sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir başka tanımı da, bir bilgisayarda sistematik şekilde saklanmış, programlarca işlenebilecek veri yığınıdır. Bir veritabanı adından da anlaşılacağı gibi bilgilerin depolandığı hiyerarşik bir yapıdır. Biz web üzerinde kullanıcı adı, şifresi, e-posta adresi gibi bilgileri bu veri tabanlarında saklarız. Aynı bilgileri bir dosyaya yazıp gerektiğinde dosyayı açıp bilgileri okutmak da bir çözüm gibi görünse de bu işlem hem daha karmaşık ve zahmetli hem de daha yavaştır. Birçok veritabanı yönetim sistemi mevcuttur (MySQL, PostgreeSQL, Oracle, DB2, SQL Server). Biz uygulamalarımızda MySQL veritabanı sistemini kullanacağız. 1.2 Neden MySQL? MySQL, altı milyondan fazla sistemde yüklü bulunan çoklu iş parçacıklı (multi-threaded), çok kullanıcılı (multi-user), hızlı ve sağlam (robust) bir veritabanı yönetim sistemidir. UNIX, OS/2 ve Windows platformları için ücretsiz dağıtılmakla birlikte ticari lisans kullanmak isteyenler için de ücretli bir lisans seçeneği de mevcuttur. Linux altında daha hızlı bir performans sergilemektedir. Kaynak kodu açık olan MySQL'in pek çok platform için çalıştırılabilir ikilik kod halindeki indirilebilir sürümleri de mevcuttur. Ayrıca ODBC sürücüleri de bulunduğu için birçok geliştirme platformunda rahatlıkla kullanılabilir. 1

MySQL in Avantajları: İnternet Programcılığı Özellikle internet ortamında önem kazanan, çok esnek ve güçlü bir kullanıcı erişim kısıtlama/yetkilendirme sistemine sahiptir. Bütün işletim sistemlerinde çalışır. 60000'in üzerinde tablo, 5 milyarın üzerinde satır ile çalıştırabilmektedir. Performansı yüksektir. Transaction ve/ya atomik işlem kullanan çeşitli tablo tiplerini desteklemektedir. Düşük maliyetldir. Yapılandırma ve öğrenim Kolaylığı. Taşınabilirlik. Kaynak kodu açıktır. Geniş destek hizmeti mevcuttur. 1.3 MySQL in Desteklediği Veritabanı Nesneleri Tables (Tablo) Views (Görüntü) (Görüntüleme) Procedures (Prosedür/Yordam) Triggers Cursors 1.4 MySQL Tablo Türleri InnoDB ve MyISAM MySQL veritabanı depolama motorlarıdır. Veri yazma, okuma ve saklama işlemini yaparlar. MySQL varsayılan depolama motoru olarak MyISAM kullanır (MySQL 3.23 ve sonraki versiyonlarda). InnoDB: MySQL AB tarafından dağıtılan tüm paketlerde yer alan standart MySQL veri tabanı motorudur. Sistemi diğer kayıt motorlarından ayıran en önemli özellik ACID uyumlu olması, aktarım ve yabancı anahtar desteği sunmasıdır. Eğer bir veri yazılırken hata oluşması durumunda (rollback) işlemi geri almak istiyorsak InnoDB motorunu kullanmamız gerekir. 2

MyISAM: MyISAM, MySQL in en eski veritabanı depolama motorudur. Standart depolama motoru olarak kabul edilir. Tablolar, fiziksel diskin üç ayrı konumunda tutulur. Tablo başına 64 indeks oluşturulabilir. Foreign Key kullanımını desteklememektedir. 1.5 PDO: PHP Data Object PHP nin eski versiyonlarında veritabanı bağlantısı için mysql_conenct() kullanılmakta idi. Fakat PHP 5.1 den sonra PDO (PHP Data Objects) sınıfları kullanılmaktadır. PDO, veritabanları için daha fazla esneklik sağlayan nesneye dayalı programlama imkânları sunmaktadır. PHP nin PDO yu kullanabilmesi için php.ini dosyasında php_pdo_mysql.dll ve php_pdo_sqlite.dll extension larının önündeki # işaretlerinin kaldırılmış olması gerekmektedir. Şekil. php.ini dosyası 1.6 PDO nun Desteklediği Veritabanı Sistemleri PDO, birçok farklı veritabanı yönetim sistemine bağlanmak için tek düzenli bir arabirim sunmaktadır. PDO ile PHP kodları ile sadece bağlantı arabirimini değiştirerek birçok veritabanı sistemi ile çalışma imkânı ortaya çıkmıştır. Böylece programcı her veritabanı için ayrı ayrı kod yazma zahmetinden kurtulmuş olur. 3

Aşağıdaki veritabanı sürücüleri PDO tarafından desteklenmektedir. 4

2 PHP ile Örnek Veritabanı Uygulaması Örneğimizde bir üye kayıt uygulaması gerçekleştireceğiz. Uygulamada, kayıt ekleme, arama, listeleme, güncelleme, silme işlemleri gerçekleştirilecektir. PHP uygulamasına geçmeden önce PHPMyAdmin i kullanarak veritabanını ve tabloyu oluşturalım. Sunucu üzerindeki PHPMyAdmin i açmak için http://10.79.0.110/phpmyadmin/ adresine girin. Gelen Oturum Açma ekranda Kullanıcı Adı, Parola olarak öğrenci numaranızı girin. 1801 Öğrenci Numarası ve Parola girildikten sonra her kullanıcı için kendi veritabanı şeması açılacaktır. Kullanıcılar tablolarını kendi veritabanında oluşturacak. 5

Örneğin Öğr. Numarası 1801 olan bir kullanıcı için oluşturulan veritabanı şemasının adı: 1801_db olacaktır.. Bu aşamada veri tabanındaki tablolar oluşturulacak. Bunun için iki yöntem mevcuttur. Birinci Yöntem Yapı (Structure) sekmesinde Tablo Oluştur (Create Table) bölümü kullanılır. Git (Go) butonuna tıkladıktan sonra açılacak formda alan adları ve özellikleri girilir. 6

Birincil Anahtar ve Auto Increment Birincil Anahtar (Primary Key) olacak alan Için Index sütununda PRIMARY seçeneği aktif hale getirilir. Alan, Otomatik Artan olacaksa A_I (AUTO INCREMENT) seçili hale getirilir. Kaydet butonuna tıklandıktan sonra tablo oluşturulacaktır. İkinci Yöntem İkinci yöntemde phpmyadmin de SQL sekmesine aşağıdaki kodlar yazılarak uyeler tablosu oluşturulur. 7

CREATE TABLE `uyeler` ( `UID` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `Ad` varchar(24), `Soyad` varchar(24), `Email` varchar(254), `Parola` varchar(254), `UTarihi` datetime, `Yetki` int(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; UID alanı Primary Key (Birincil Anahtar) ve Auto Increment olarak belirlenmiştir. Yukarıdaki SQL ifadeleri ile 1801_db veritabanı içerisinde üyeler adlı tablo oluşturulur. Artık tablo oluşturulmuştur. Listeme amacıyla şimdilik PHPMyAdmin in SQL penceresinden tabloya örnek birkaç kayıt girelim. Kayıt ekleme, arama, silme, güncelleme gibi işlemler PHP dili kullanılarak Web sayfaları üzerinden yapılacaktır. 8

Kayır Eklemek için aşağıdaki SQL ifadesi kullanılır. 1. kayıt için: INSERT INTO `uyeler`(`ad`, `Soyad`, `Email`, `Parola`, `UTarihi`, `Yetki`) VALUES ('SERKAN','AKSU','aksuse@gmail.com','sa1234',NOW(),10); 2. kayıt için: INSERT INTO `uyeler`(`ad`, `Soyad`, `Email`, `Parola`, `UTarihi`, `Yetki`) VALUES ('ALİ','KARA','alikara@gmail.com','ak1234',NOW(),10); Bu aşamadan sonra PHP kodları ile MySQL veritabanına bağlanıp dinamik web uygulamalarımızı geliştirebiliriz. Veritabanı işlemleri yapılacak her sayfada MySQL Veritabanı Yönetcisi ne ve oluşturulan veritabanı şemasına bir bağlantı kurulması gerekmektedir. Bu amaçla dbconn.php adlı bir PHP sayfası oluşturalım ve bu sayfayı her sayfamızın başına include edelim. Bir PDO sınıfı tanımlanırken bir DSN Data Source Name ile belirtilir. Hangi veritabanı sürücüsüne bağlanılacağı ve hangi veritabanının kullanılacağı DSN ile ifade edilmektedir. Ayrıca veritabanı kullanıcı adı ve parola bilgilerinin de girilmesi gerekmektedir. Örnek bağlantıda Sunucu : localhost (web sitesinin bulunduğu sunucu) Veritabanı : 1801_db Kulllanıcı Adı : 1801 Parola : 1801 olarak belirlenmiştir. Siz 1801 yerine kendi öğrenci numaranızı yazın. 9

dbconn.php dosyası 2.1 Kayıt Listeleme Daha önce oluşturduğumuz uyeler tablosundaki kayıtları listelemek için aşağıdaki PHP kodları kullanılır. Eğer kayırlar sayfada listeleniyorsa veritabanı bağlantısı çalışıyor demektir. Böylece Gerçek bir dinamik web uygulamasına ilk adımımızı atmış olduk 10