![]() |
|
|||||||
| Kayıt ol | Yardım | Üye Listesi | Ajanda | Arama | Bugünki Mesajlar | Bütün Forumları okunmuş kabul et |
| Web Programlama Php, asp, flash, java, html ve tüm web yazılım dilleri hakkında bilgi paylaşımı yapabileceğiniz bölüm |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) | ||
|
Mesajlar: n/a
|
PHP İle MySQL Kullanımı PHP'de desteklediği tüm veritabanları için hemen hemen benzer isimlerde ve özellikte pek çok hazır fonksiyon vardır. Bu dökümanda konu itibariyle MySQL kullanımına değinilecektir ama bu aynı zamanda diğer desteklenen veritabanlarına da %70-80 hakim olmak anlamına gelir. Veritabanı sunucusuna bağlanmak ve çalışılacak veritabanını seçmek PHP programlarımızda bir veritabanıyla işlem yapabilmek için o veritabanı sunucusuna bağlanılması gereklidir. Eğer birden çok PHP sayfamızda veritabanı bağlantısı gerekiyorsa bu bağlanma işlemini bir PHP fonksiyonu haline getirip ayrı bir dosyada tutmalı ve gerekli olduğu zaman bu dosyayı include ile sayfamıza dahil etmeliyiz. MySQL veritabanına bağlanmak için "mysql_connect()" fonksiyonu kullanılır. Genel yazım şekli: $baglanti=mysql_connect("sunucu adresi","kullanıcı adı","parola"); Veritabanı sunucumuza bağlandıktan sonra çalışacağımız, üzerinde tablolarımızı tuttuğumuz veritabanını da seçmeliyiz. Bunun için "mysql_select_db()" fonksiyonu kullanılır. Bu fonksiyon parametre olarak veritabanı adı ve mysql_connect() ile sağlanan bağlantının tanımlandığı değişkeni alır. Genel yazım şekli: mysql_select_db("veritabanı adı",$baglanti); Şimdi bu iki ifadeyi birleştirip bir fonksiyon haline getirelim ve PHP programlarımızda hep bu fonksiyonu kullanalım. Fonksiyonumuz öntanımlı parametre olarak üzerinde çalışacağımız veritabanı ismini alsın. Böylelikle eğer programımız içinde başka bir veritabanına ulaşmamız gerekiyorsa aynı fonksiyonu kullanmamız mümkün olsun. Örnek: <?function Baglan($veritabani="yeni_db") { $baglanti=mysql_connect("localhost","user","parola ") or die ("Veritabanına bağlanılamadı ");mysql_select_db($veritabani,$baglanti); }?> SQL sorgusu çalıştırmak Bağlantımızı yaptık ve veritabanımızı seçtik. Sıra MySQL'e iş yaptırmaya geldi. MySQL'e (yada başka bir veritabanına) iş yaptırmak için kullanılan bütün ifadelere kısaca SQL sorgusu denir. Tablo oluşturma, kayıt seçme-ekleme-çıkarma-düzeltme gibi işlemler hep SQL sorgusu olarak anılır. PHP'de MySQL'e SQL sorgusu göndermek için "mysql_query()" fonksiyonu kullanılılır. Genel yazım şekli: $sorgu=mysql_query("SQL ifadesi"); Örnek: <?include ("inc.functions.php"); // Hazırladığımız fonksiyonların tanımlı olduğu dosyayı sayfamıza dahil ediyoruz. Baglan(); // Veritabanı sunucumuza bağlanıp çalışacağımız veritabanını seçiyoruz. $sql="SELECT * FROM tablo1";$sorgu=mysql_query($sql);?> mysql_query() fonksiyonu parametre olarak belirtilen SQL ifadesini çalıştırdığında sunucudan gelen verileri topluca $sorgu değişkenine aktarır. Bu gelen verileri kullanmak için her bir kayıdı sırayla $sorgu dizisi içerisinden çekmek gerekir. Bu işlem için her bir kayıda sütun sütun erişmeyi sağlayan "mysql_result()" ya da her bir kayıda bir dizi olarak erişmeyi sağlayan "mysql_fetch_array()" fonksiyonlarından biri kullanılabilir. Her ikisinde de veritabanından gelen verilerin tümüne ulaşmak için bir döngü kurulmalıdır. Aşağıdaki örnekleri inceleyelim. Örnek: <? $sql="SELECT * FROM tablo1"; $sorgu=mysql_query($sql); $satirsayisi=mysql_num_rows($sorgu); // Yapılan sorgulama sonucunda veritabanından çekilen kayıtların sayısı $i=0; while ($i<$satirsayisi) { $isim=mysql_result($sorgu,$i,"isim"); $tel=mysql_result($sorgu,$i,"tel"); $email=mysql_result($sorgu,$i,"email"); print "$i. Kayıt<br>" ."<b>İsim:</b> ".$isim ."<b>Tel:</b> ".$tel ."<b>Email:</b> ".$email ."<br>n"; $i++; } ?> Örnek: <? $sql="SELECT * FROM tablo1"; $sorgu=mysql_query($sql); while($satir=mysql_fetch_array($sorgu)) { $i++; print "$i. Kayıt<br>" ."<b>İsim:</b> ".$satir[isim] ."<b>Tel:</b> ".$satir[tel] ."<b>Email:</b> ".$satir[email] ."<br>n"; } ?> Bu iki örnekten birincisinde while döngüsünü veritabanından çekilen kayıtların toplam sayısı ile kontrol ediyoruz. İkinci örnekte buna gerek yoktur. While içerisinde kullanılan ve her kullanıldığında $sorgu değişkeninden bir kayıt çekip $satır dizi değişkenine aktaran mysql_fetch_array() fonksiyonu görevini yerine getirebildiği müddetçe geriye 1 değerini döndürecektir ve bu da while döngüsünün çalışmasını sağlayacaktır. $sorgu değişkeninde çekilecek kayıt kalmadığında mysql_fetch_array() işini yapamayacak ve geriye 0 döndürecektir. Böylece döngü sona erecektir. PHP'deki MySQL ile alakalı diğer hazır fonksiyonlara ve anlamlarına kısaca değinelim ve dökümanı sonlandıralım. (Ayrıntılı bilgi için: www.php.net ) mysql_affected_rows(): Bir önceki işlemde etkilenen satır sayısını verir. mysql_close(): Belirtilen MySQL bağlantısını kapatır. mysql_create_db(): MySQL'de veritabanı açar. mysql_drop_db(): Belirtilen veritabanını siler. mysql_errno(): Bir önceki işlemdeki MySQL hata numarasını verir. mysql_errno(): Bir önceki işlemdeki MySQL hata mesajını verir. mysql_fetch_field(): Sonuç tablosundaki alan adını PHP objesi (nesne) olarak alır. mysql_field_type(): Sonuçtaki alaın hangi tip olduğunu bildirir. mysql_field_len(): Sonuçtaki alanın veritabanındaki uzunluğunu verir. mysql_free_result(): Sonuçlar için atanan hafızayı boşaltır. mysql_insert_id(): Bir önceki veri yerleştirme işlemindeki atanan otomatik veri değerini verir. mysql_list_fields(): Sonuçtaki tüm tablo alanlarını listeler. mysql_num_fields(): Sonuçtaki alan sayısını verir. mysql_num_rows(): Sonuçtaki satır sayısını verir. mysql_pconnect(): Sunucuya kalıcı bir bağlantı tanımlar |
||
|
![]() |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Seçenekler | |
|
|
Benzer Konular
|
||||
| Konu | Konuyu Başlatan | Forum | Cevaplar | son Mesaj |
| MySQL (Windows) 5.1.25 | Jack | Program Arşivi ve Türkçe Yamalar | 0 | 06-11-08 16:40 |
| Cep telefonu kullanımı | Turkan | Cep Telefonları | 0 | 05-22-08 23:27 |
| Virtual Dj Kullanımı | Karantina | Ses ve Görüntü / CD ve DVD Araçları | 0 | 04-12-08 18:55 |
| class kullanımı | irfbaba | C ve C++ | 4 | 03-26-08 22:43 |
| Prezervatif Kullanımı | Pepsi | Cinsellik ve Erkek | 2 | 01-18-08 21:29 |
mirc
mırc
çet
cet
sohbet
chat
canlı tv