PHP ve MYSQL.

Slides:



Advertisements
Benzer bir sunumlar
T sql-diğer komutlar Metin Akbulut.
Advertisements

Hazırlayan : Öğr. Gör. Fahri YILMAZ
PHP ve MYSQL.
COME 339 JAVA-SQL BAĞLANTISI
4 SQL- Yapısal Sorgulama Dili
Tablo oluşturma İlk olarak tabloları oluşturmamız gerekli..
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
SQL (Structured Query Language)
SQL (Structured Query Language)
SQL’e Giriş.
SQL de Değişken Tanımlama
Dizi (array) değişkenleri
SQL Komutlar 5 Sibel SOMYÜREK.
İndeksler Sibel SOMYÜREK.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
Alt Sorgular Veritabanı 2.
5 Sorgulama İşlemleri Veritabanı 1.
Veri Tabanı Yönetim Sistemleri
Tek Tablo İçinde Sorgulamalar
Fonksiyonlar Hafta 4.
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Çerez(Cookie) Kullanımı Oturum Yönetimi
Veri Tabanı Yönetim Sistemleri
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
BÖLÜM 6 SQL SERVER KOMUTLARI.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
SQL (STRUCTURED QUERY LANGUAGE)
MySQL, SQL ve PHP Öğr.Gör.Şükrü KAYA.
11 ekim 2011 VTYS –II Dersi. Kalıp İfadelerle Sorgu (Pattern) Eğer bir sözel verinin sadece belli kriterlere uyanlarını seçeceksek sütun_adı LIKE kalıp.
MYSQL 4. HAFTA. mySQL veri türleri INTTamsayı: 'den kadar değişen diziye "signed" (işaretli), 0'dan 'e kadar değişenine.
VIEW (BAKIŞ) OLUŞTURMA
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
SQL de Değişken Tanımlama
PHP ve MYSQL.
MySQL Operatörleri ve Fonksiyonları
Iletisim Icin : Blog : E - Mail :
İnternet Programcılığı II
SQL SERVER 2008 Yücel YILDIRIM.
VeriTabanı Uygulama.
İnternet Programlama PHP.
PHP ve MYSQL Veritabanı Sunucusu
SQL Sibel SOMYÜREK.
SQL Komutları (2) Uzm. Murat YAZICI.
VTYS Öğr. Gör. Engin DUTAR
SQL’ e Giriş Uzm. Murat YAZICI.
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
T-SQL 3.K ONU Tablo Tipi Değişkenler. T ABLO TIPI DEĞIŞKENLER KULLANMAK T-SQL de dizi tanımlama nasıl yapılır? Bu sorunun cevabı olarak tablo tipi değişkenleri.
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
Yapısal Sorgulama Dili SQL Hafta 7. TEKRARLI SATIRLARI ÖNLEMEK  DISTINCT komutu ile sorgu sonucunda birden fazla kayıt aynı verileri içeriyorsa tekrarlı.
İNTERNET PROGRAMLAMA -2. Veritabanı Nedir? Veritabanı, bilgilerin düzenli bir ş ekilde saklandı ğ ı yapılardır. De ğ i ş kenlerdeki bilgiler ve formlardan.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
VIEW lerle çalışmak 11.BÖLÜM.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
TETİKLEYİCİ ( Trigger)
Tablo Tipi Değişkenler
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
VERİ TABANI VE VISUAL STUDIO SQL LOCAL DB(YEREL VERİ TABANINI SAYFAYA BAĞLAMA Savaş TUNÇER.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
DML ile veri ekleme, silme ve değiştirme
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
Sorgu / dml / ddl komutları
SQL (STRUCTURED QUERY LANGUAGE)
SQL Server - Stored Procedures
Transaction.
Sunum transkripti:

PHP ve MYSQL

MYSQL Veritabanı Veritabanı,içerisinde çeşitli verileri bulunduran birbirleriyle ilişkili tablolardan oluşmaktadır. MySQL veritabanı da SQL ve Access gibi farklı tablolardan ve bu tablo içerisindeki alanlardan meydana gelir.

MySQL Kurulumu MySQL kurulumunun en son versiyonu www.mysql.com adresinden indirelebilir.Kurulum dosyasını çalıştırdıktan sonra ilk ekranda”Next”butonuna tıklayarak devam edilir.Kurulum tipi belirlenip “Install “butonuna basılır.Next butonlarıyla ilerlenip kurulum tamamlanır. MySQL sunucunun veritabanına erişimi için yapılandırılması gerekir. Standart ve detaylı olmak üzere iki şekilde yapılır. Yapılandırma işlemleri “Execute”butonuna basılarak aktif hale getirilir. “Finish”butonuna basılarak aktif hale getirilir.

PHPMyAdmin Kurulumu PHPMyAdmin,MySQL veri tabanına kolayca erişimi sağlayarak veri tabanı işlemlerinin görsel yolla yapılabilmesi hazırlanmış arayüzdür. Kuruluma gerek yoktur. Sıkıştırılmış klasör içinde bulunan dosyaları açarak web sunucusu klasörüne(apache web sunucusu için htdocs klasörü)kaydetmek yeterlidir.

Kurulum Aşamaları Gerekli dosyalar www.phpmyadmin.net adresinden indirilebilir. İndirilen dosya açılarak htdocs klasörü altına kopyalanır. PhpMyAdmin yapılandırılması için aşağıdaki adımlar uygulanır: PhpMyAdmin klasörü içinde bulunan config.inc dosyasını açılarak; $cfg [‘PmaAbsoluteUri’]=“;satırı $cfg [‘PmaAbsoluteUri’]=“http ://localhost/phpmyadmin/’; olarak değiştirilir.

Kurulum Aşamaları -2 $cfg [‘Servers’][$i][User’]=‘root’;satırında kullanıcı adının root olması gerekir. $cfg [‘Servers’][$][‘password’]=“;root kullanıcı adı ile bağlantı yapılıyorsa şifre kısmının boş olması gerekir. Config.inc dosyası kaydedilir. İnternet tarayıcının adres çubuğuna http://localhost/phpmyadmin/ yazdığınızda hata ile karşılaşılmıyorsa phpMyAdmin yazılımı başarıyla kurulmuş demektir.

MySQL Yazılım Kuralları a) Veritabanı Oluşturma MySQL’de veritabanı oluşturmak için CREATE DATABASE komutu verilir. Kullanım Şekli; CREATE DATABASE veritabanı_adı; Örnek: Aşağıdaki komutla okul adında bir veritabanı oluşturulmuştur. CREATE DATABASE ogrenci;

b) Veritabanı Silme MYSQL’de veritabanı silmek için DROP DATABASE komutu kullanılır.Komut çalıştırıldığında silinen veritabanın içerisindeki tüm tablolar ve kayıtlarda silinmiş olacaktır.Silinen kayıtlar geri getirilemez. Kullanım Şekli; DROP DATABASE veritabanı_adı; Örnek: Aşağıdaki komutla okul veritabanı silinecektir. DROP DATABASE okul;

c)MySQL Veri Türleri Veri Türü Açıklama TINYINT -128 ile 127 arasında tamsayı SMALLINT -32768 ile 32768 arasında tamsayı MEDIUM -8388608 ile 8388607 arasında tamsayı INT -2147483648 ile -2147483647 arasında tamsayı BIGINT -9223372036854775808-9223372036854775807 arasında FLOAT Virgülden sonra 4 yada 8 haneli ondalık sayı TIMESTAMP O andaki sistem zamanını tutar TIME HH:MM:SS,HHMMSS,HHMM,HH formatında zaman DATETIME YYYY-MM-DD HH:MM:SS formatında zaman VARCHAR(n) n sayısını geçmemek şartıyla değişen boyutta karakter CHAR(n) Kesinlikle n sayısı kadar karakter

d)Tablo Oluşturma Tablo oluşturmak için CREATE TABLE komutu kullanılır. Bu komut kullanılmadan önce tablonun oluşturulacağı veritabanı seçilmelidir. Kullanım Şekli; Create Table <tablo adı> alan_adı veri_türü [varsayılan][kısıtlama], … [tablo kısıtlaması]); “tablo Adı”tabloya verilecek isim(örnek:ogrenci). “alan Adı” tabloda yer alacak alanların adı(örnek:ogr_no,adi,soyadi). “veri Türü”girilecek veri türü (sayı,metin,tarih). “varsayılan”değer girilmezse başlangıçta atanacak değer.

“kısıtlama”boş olmaması,sadece E veya K girilmesi kısıtlamalar. “tablo kısıtlaması”her kaydın belirli alanlara göre kısıtlanması(kayıtların tek olmasını sağlamak) Örnek:Mezun olan öğrenciler için mezun bilgilerinin tutulacağı bir tablo oluşturalım. Bu tablo için adi,soyadi ve ogrno alan adları kullanılacaktır. CREATE TABLE ;kayit ad varchar(15) not null, soyad varchar(15) not null, ogrno smallint(5)unsigned, constraint ogrno_pk primary key(ogrno));

e)Tablo Silme DROP TABLE ifadesiyle istenilen tablo silinebilir. Kullanım Şekli; DROP TABLE tablo_adi; Örnek:Müşteri tablosunu silmek için aşağıdaki ifade kullanılır. DROP TABLE musteri;

f)Tabloya Kayıt Ekleme MySQL veritabanlarına yeni kayıt eklemek için INSERT komutu kullanılır. Kullanım Şekli; INSERT INTO TABLO (alan1,alan2,…….,alan_n) VALUES(deger1,deger2,………..,deger_n) Örnek: Aşağıdaki komutla okul veritabanında bulunan öğrenci tablosuna yeni kayıt eklenmiştir. INSERT INTO ogrenci(no,ad,soyad,veli) VALUES (125,”Melda”,”Selda”,”Eda”)

g)Tablodan Kayıt Alma MySQL veritabanlarında istenilen şartlara uyan bilgileri almak için SELECT komutu kullanılır.SELECT komutunun kullanımının birçok farklı seçeneği vardır . Örnek; Aşağıdaki kod belirli bir şarta bağlı olmaksızın istenilen verileri ogrenci tablosundan okumak için kullanılır. SELECT*FROM ogrenci-> ogrenci tablosundaki tüm kayıtları gösterir. SELECT ad,no FROM ogrenci->ogrenci tablosundaki verilerin sadece ad ve no bilgilerini gösterir.

Belirli bir şarta uyan verilerin okunması için WHERE paremetresi kullanılır Örnek: Numarası 15 olan öğrencilerin tüm bilgilerinin görüntülenmesi için aşağıdaki ifade yazılır. SELECT *F ROM ogrenci WHERE no=15; Örnek: Sınav notundan 50-70 arası not alan öğrencilerin ad ve numarasının görüntülenmesi için aşağıdaki ifade yazılır. SELECT ad,no FROM ogrenci WHERE not_1 BETWEEN 50-70 Örnek: Adının içinde ‘M’geçen öğrencilerin ad ve numarasının görüntülenmesi için aşağıdaki ifade yazılır. SELECT ad,no FROM ogrenci WHERE ad LIKE ‘%M%’

Select ile gelen kayıtların sıralamasını değiştirmek için ORDER BY ifadesi kullanılır.ORDER BY ifadesi ile birlikte ASC kullanırsa artan sıralama,DESC kullanılırsa azalan sıralama yapar.Herhangi bir ifade yazılmazsa artan sıralama yapar Örnek; Adı”M” ile Başlayan öğrencilerin bilgilerini soyadına göre artan sıralamada görüntülenmesi için aşağıdaki ifade yazılır.(a…..z sıralama) SELECT*FROM ogrenci WHERE adi=‘M%’ ORDER BY soyadi

h)Kayıt Silme Tablodan kayıt silmek için DELETE ifadesi kullanılır. Kullanım Şekli; DELETE FROM tablo_adi WHERE koşul Örnek;Aşağıdaki SQL komutu ogrenci tablosunda bolum bilgisi”bilişim”olan tüm kayıtları silecektir. DELETE *FROM ogrenci WHERE bolum=‘bilişim’

i)Kayıt Güncelleme Kullanım Şekli; Veritabanında bulunan kayıtlar üzerinde değişiklik yapmak istendiğinde UPDATE ifadesi kullanılır.Çoğunlukla where ifadesi ile kullanılır.Where ifadesi kullanılmaz ise tablodaki tüm kayıtlar güncellenecektir. Kullanım Şekli; UPDATE tablo_adi SET alan1=değer1,alan2=değer2,……. WHERE Koşul cümlesi ; Örnek; Öğrenci numarası 35 olan öğrencinin doğum tarihini 05/02/1991 olarak değiştirecek SQL komutu aşağıdaki gibidir. UPDATE ogrenci SET dogum_tarihi=‘1991/05/02’ WHERE no=35

MySQL Fonksiyonları a) Standart Fonksiyonlar AVG(): Parametre olarak verilen alanın aritmetik ortalamasını bulur. SUM(): Parametre olarak verilen alanın toplamını alır. MIN(): Parametre olarak verilen alanın en küçük değerini bulur. MAX(): Parametre olarak verilen alanın en büyük değerini bulur. COUNT(): Parametre olarak verilen alanın kayıt sayısını bulur. ROUND(): Parametre olarak verilen alanın değerinin virgülden sonraki kısmını yuvarlar.

b)Karşılaştırma Operatörleri ve Fonksiyonlar Eşittir “=“ SELECT 1 =0; SONUÇ=0 SELECT ‘0’ =0; SONUÇ=1 Eşit Değildir”<>” ,”!=“ SELECT’.O1’<> ‘0.01’;SONUÇ=1 Küçüktür veya Küçük eşittir “<“ , “<=“ SELECT 2<2; SONUÇ=1 ?? Büyüktür veya büyük eşittir “>” , “>=“ SELECT 2>=2;SONUÇ =1 GREATEST(değer1,değer2,…..) Parametre olarak verilen değerlerden en büyük olan değeri bulur. SELECT GREATEST (2,0) ; sonuç =2 LEAST (değer1,değer2,…..) Parametre olarak verilen değerlerden en küçük olan değeri bulur. SELECT LEAST (2,0) ; sonuç =0

PHP VE MySQL

Veri okuma mantığı

SQL İfadelerinin Kullanımı Bağlantı kurulan veritabanı üzerine SQL ifadelerini kullanmak için mysql_query ifadesi kullanılır. Kullanım Şekli; Sonuc=mysql_query(“sql_ifadesi”,”bağlantı_değişkeni”); sql_ifadesi=Çalıştırılmak istenen SQL ifadesidir. bağlantı_değişkeni=mysql_connect fonksiyonunun atandığı bağlantı değişkenidir.

MySQL Sunucusuna Bağlantı PHP dilinde veritabanı ile işlem yapılacağı zaman ilk olarak web sunucusu aracılığıyla veritabanı dosyası ile bağlantı kurulması gerekir. Bağlantı bir değişkene atanır ve MySQL sunucu kurulumunda şifre konulmamışsa şifre parametresi boş bırakılmalıdır. Kullanım Şekli; $baglanti=mysql_connect(sunucu,kullanıcı_Adi,sifre); “sunucu”bağlantı kurulacak MySQL sunucusunun ismidir. Örnek; localhost sunucusunda root kullanıcı adı ve root şifresiyle bağlantı için aşağıdaki ifade kullanılır. $baglanti=mysql_connect(“localhost” ,”root” ,”root”) Yerel sunucuda sunucu localhost ismini alır.

PHP ile MySQL Veritabanı Oluşturma Mysql istemci yazılımı veya mysqladmin kullanmadan MySQL veritabanı oluşturmak için mysql_create_db() fonksiyonu kullanılır . Örnek; MySQL sunucu üzerinde personel isminde bir veritabanı oluşturmak için aşağıdaki ifade kullanılabilir. <?PHP $bg=@mysql_connect(“localhost”,”root”,”mysql”) or die (“MySQL e Bağlanılamıyor!”); mysql_query(“CREATE DATABASE personel”,$bg) or die (“Veritabanı oluşturulamadı”.mysql_error()); ?>

Veritabanı Seçimi Sunucu ile bağlantı kurulduktan sonra kullanılacak veritabanının seçilmesi gerekir.Veritabanı seçim için mysql_select_db() Fonksiyonu kullanılır. Fonksiyon başarı ile çalışırsa TRUE, çalışmazsa FALSE değeri döndürür. Kullanım Şekli; Mysql_select_db(“veritabanı”,”bağlantı_değişkeni”) (“veritabanı”)=Bağlantı kurulacak veritabanı (”bağlantı_değişkeni”)= mysql_connect fonksiyonunun atandığı bağlantı değişkenidir.

Bağlantı örneği $baglanti = @mysql_connect(‘localhost', '', ''); $veritabani = @mysql_select_db(‘test'); if($baglanti && $veritabani) { echo 'Bağlantı kuruldu.'; } else { echo 'Bağlantı kurulamadı.'; } mysql_close($baglanti); // MYSQL sunucusu ile bağlantımızı koparttık ?>

Tablodan sorgulama mysql_fetch_array() Örnek: kitaplar tablosundan veri okumak için öncelikle sorgulama gerekir. $bilgi = mysql_query("SELECT * FROM kitap ");   mysql_fetch_array( ) komutu ile sorgudan çekilen kayıtlar ekrana yazdırılır. Yada hangi işlem yapılacaksa o işleme tabi tutulur. while($satir=mysql_fetch_array($bilgi)) {     print $satir["AD"]; }  

Bağlantı ve veri okuma toplu kodları mysql_connect("adres","kullanıcı adı","sifre"); mysql_select_db("tablo ismi"); $bilgi = mysql_query("SELECT * FROM kitap ");      while($satir = mysql_fetch_array($bilgi) {     print $satir["AD"]; }

Tablodan sorgulama mysql_fetch_object() Nesne formunda bir sonuç satırı getirir. <?php mysql_connect($host,$user,$password);    $result = mysql_db_query("database","select * from table");    while($row = mysql_fetch_object($result)) {       echo $row->user_id;       echo $row->fullname;  }    mysql_free_result($result); //Sorguyu bellekten siler.  ?>

Tablodan sorgulama mysql_fetch_row() Sorgudan dönen sonuç tablosundan dizi değişkeni alır. $result = mysql_query("SELECT id,email FROM people WHERE id = '42'"); if (!$result) { echo 'Could not run query: ' . mysql_error(); exit; } $row = mysql_fetch_row($result); echo $row[0]; // 42 echo $row[1]; // the email value ?>

Tablodan sorgulama mysql_result() Sorgudan dönen sonuçları alır. $data = mysql_query("SELECT * FROM bilgi WHERE kayit no='$no'"); $kayitno = mysql_result($data,0,"kayitno"); $isim= mysql_result($data,0,"isim"); $bilgi = mysql_result($data,0,"bilgi"); 

Veritabanına kayıt ekleme //Form post metoduyla gönderilen bilgileri alıp değişkenlere atayalım. $ad = $_POST['isim']; $soyad = $_POST['soyisim']; //Veritabanında bulunan 'defter' isimli tablonun 'defter_isim' ve 'defter_soyisim' alanlarına kayıt edelim. $kaydet = mysql_query("insert into defter (defter_id, defter_isim, defter_soyisim) values (NULL, '$ad', '$soyad')") or die("Hata: kayıt işlemi gerçekleşemedi.");

Veritabanından kayıt silme //ID numarası 1 olan kaydımızı silelim. $sil = mysql_query("delete from defter where defter_id='1'") or die("Hata Olustu!"); if($sil) { echo '1 numaralı kayıt başarıyla silinmiştir.'; }

Veritabanından Kayıt Düzenleme <?PHP //formdan gelen bilgileri alalım. $duzenlenecek_id = $_POST['kayit_id']; $isim = $_POST['isim']; $soyisim = $_POST['soyisim']; //veritabanında düzenleme işlemine geçelim. $duzenle = mysql_query("update defter set defter_isim='$isim', defter_soyisim='$soyisim' where defter_id='$duzenlenecek_id'") or die("Hata Olustu!"); if($duzenle) { echo 'Düzenleme işlemi başarıyla gerçekleşmiştir.'; } ?>

Veritabanı Kayıt Sayısını Bulma-mysql_num_rows() $bilgi= mysql_query("SELECT * FROM ogrenciler"); $mevcut = mysql_num_rows($bilgi);

mysql_error() ve mysql_errno() MySQL ifadelerinin çalışması esnasında oluşan hata mesajlarını yazılı olarak almak için mysql_error(); hata kodunu almak için mysql_errno () fonksiyonları kullanılır. Parametre olarak bağlantı değişkeninin adını alır.

Sunucu Bağlantısını Kapatma Veritabanına bağlantı sayısı sınırlı olabileceği için veritabanıyla ilgili işlemler bittiğinde bağlantının kapatılması gerekir .Aksi Takdirde diğer kullanıcılar bağlanmak istediğinde sorun oluşabilir.Bağşantı kapatmak için mysql_close fonksiyonu kullanılır Kullanım Şekli; Mysql_close(baglanti_degiskeni); Örnek : Aşağıdaki kullanım $baglanti değişkenine atanan MySQL bağlantısını kapatmaktadır. Mysql_close($connect)