Türkçe Forum - Girburaya.net

Geri git   Türkçe Forum - Girburaya.net > Webmaster > Web Programlama
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

Yeni Konu aç  Cevapla
 
LinkBack Seçenekler
Alt 06-19-08, 17:08   #1 (permalink)
DeJiN
 
Mesajlar: n/a
Standart php ile mysql kuLLanımı

   

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
  Alıntı ile Cevapla
Yeni Konu aç  Cevapla



Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler

Yetkileriniz
Yeni Mesaj yazma yetkiniz aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz aktif değil dir.

Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

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


Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 05:31 .


Powered by: vBulletin Version 3.6.8 (Türkçe)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
Türkçeye: Girburaya.Net tarafından çevrilmiştir.
GirBuraya.Net

oyun komedi sohbet siteleri
mirc mırc çet cet sohbet chat canlı tv


7, 427, 6, 5, 106, 107, 9, 10, 11, 12, 14, 15, 16, 17, 202, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 397, 34, 35, 36, 341, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 198, 50, 51, 52, 53, 54, 123, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 112, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 108, 109, 110, 113, 115, 116, 117, 118, 119, 120, 122, 121, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 249, 184, 187, 248, 188, 189, 247, 190, 191, 429, 192, 193, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 234, 235, 237, 238, 346, 240, 242, 243, 246, 250, 251, 252, 253, 254, 255, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 297, 298, 299, 300, 301, 302, 303, 307, 308, 321, 315, 314, 317, 322, 338, 318, 323, 324, 325, 326, 327, 328, 330, 331, 336, 332, 333, 334, 337, 335, 339, 340, 342, 343, 344, 345, 363, 348, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 373, 382, 374, 369, 370, 375, 376, 377, 380, 385, 384, 386, 394, 388, 389, 390, 391, 392, 393, 396, 409, 398, 399, 400, 401, 403, 404, 405, 406, 410, 411, 412, 413, 414, 415, 417, 416, 418, 419, 420, 421, 423, 425, 426, 434, 428, 430, 432, 431, 435, 433, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,