astropaykartsatis.net
User Tag List

Yeni Konu Aç Cevap Yaz
26.09.2007, 19:55 1 (permalink)
desoLate
  • Üyelik Tarihi14.06.2006
  • Ticaret Sayısı0
  • Mesajlar230
mysqli kütüphanesi #permalink (permalink)
Bildiğim kadarıyla mysql 4'te diğerlerine nazaran çok daha hızlı olan yeni bir bağlantı protokolü var ve bu protokolü kullanmak sadece mysqli ile mümkün.
PHP 5'te mysqli için bir kütüphane bulunmakta.
Bu başlık altında mysqli bilenler, tecrübe sahipleri bu kütüphane ile ilgili bilgiler paylaşırsa iyi olur düşüncesindeyim.

İlk olarak ben bildiğim kadarını yazayım.

mysql sunucusuna bağlanmak için ;
PHP- Kodu:
$db = new mysqli('locahost''root''triadpass''test'); 
Yukarıdaki kodda localhost ana sisteme root kullanıcı adı ve triadpass şifresiyle bir bağlantı oluşturuyoruz ve test isimli veri tabanını seçiyoruz.
Bağlantımızın başarlı olup olmadığını da kontrol ettirmek için kodumuz;
PHP- Kodu:
if (mysqli_connect_errno())
{
echo 
'Veri tabanı bağlantısı kurulamadı.';

mysqli_connect_errno() fonksiyonu, bağlantıda bi hata varsa hata numarasını yoksa 0 değerini döndürür.

Yukarda seçmiş olduğumuz test veritabanını başka sayfalarda değiştirmek isteyebiliriz. Bunun için de;
PHP- Kodu:
$db->select_db(db_ismi); 
Kodunu kullanabiliriz.

Veritabanını sorgulamak
PHP- Kodu:
$sorgu "select kullanici_adi from tablo where kullanici_adi='desolate' limit 1"
Sorguyu çalıştırmak için;
PHP- Kodu:
$sonuc $db->query($sorgu); 
Sorgu sonucu döndürülen satır sayısını bulmak için;
PHP- Kodu:
$satir_sayisi =  $sonuc->num_rows
Sorgu sonucunu almak için;
PHP- Kodu:
$oku $sonuc->fetch_assoc();
echo 
'Kullanıcı Adı:';
echo 
$oku['kullanici_adi']; 
fetch_assoc yerine alternatif olarak fetch_row() kullanarak sorgu sonuçlarını numaralandırılmış dizi olarak da alabilirsiniz. Sonrasında sonuçları $oku[0], $oku[1] şeklinde listeyebilirsiniz.

Yine bir diğer alternatif fetch_object() kullanarak sonuçta çıkan satıları bir nesnenin içine de alabilirsiniz. Sonrasında bu sonuçları $oku->kullanici_adi şeklinde listeyebilirsiniz.

Yukarda sorgu sonuçlarını almak için gerekli fonksiyonu çalıştırdıktan sonra sonuçları boşaltabiliriz. Bu işlem bildiğiniz gibi hızlı bir sistem için şiddetle önerilir
Kodumuz;
PHP- Kodu:
$sonuc->free(); 
En son olarak veritabanı bağlatımızı koparmak için;
PHP- Kodu:
$db->close(); 
Yöneticiler bu konuyu sabit yaparlarsa yararlı olacağı düşüncesindeyim. Sonuçta yavaş yavaş mysqli kullanımı başlayacaktır. Burda bildiğim kadarını anlatmaya çalıştım fakat bilmediğim daha bir çok yeni özellik olduğuna eminim. Umarım hepimiz için yararlı olur.
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
26.09.2007, 20:22 2 (permalink)
nothingrows
  • Üyelik Tarihi31.12.2004
  • Ticaret Sayısı0
  • Mesajlar14
Evet manual'de, extension listesinde felan görüyorduk ama nedir pek bilemiyorum. Mesajda yazdıklarını görünce çok şaşırdım, çünkü gösterdiğin metodlarda işlem yapmaya yarayan bir sınıf biliyorum. ezSQL adındaki bu sınıfta sayfasında da görebileceğiniz gibi;

PHP- Kodu:
$results $db->get_results("SELECT name, email FROM users");

foreach ( 
$results as $user )
{
 echo 
$user->name;
 echo 
$user->email;

ile tüm kayıtları nesne olarak elde ediyor,

PHP- Kodu:
$user $db->get_row("SELECT name,email FROM users WHERE id = 2");

echo 
$user->name;
echo 
$user->email
ile tek bir satırı nesne olarak elde ediyor,

PHP- Kodu:
$var $db->get_var("SELECT count(*) FROM users");

echo 
$var
ile tek bir sütundaki veriyi ya da SELECT-FROM arasında elde edeceğiniz veriyi alıyor,

PHP- Kodu:
$db->query("INSERT INTO users (id, name, email) VALUES (NULL,'Justin','jv@foo.com')"); 
ile de INSERT, DELETE veya UPDATE sorgularını çalıştırabiliyorsunuz.


ayrıca işlem sonunda

PHP- Kodu:
$db->debug(); 
ile öncesinde yürütülmüş tüm işlemlerin detaylarına ulaşabilirsiniz. Herkese tavsiye ederim.
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
27.09.2007, 07:37 3 (permalink)
Alexis
  • Üyelik Tarihi24.10.2005
  • Ticaret Sayısı0
  • Mesajlar499
php4 ile çalışmaz
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
Yeni Konu Aç Cevap Yaz
Şu an bu konuyu okuyan kişi sayısı: 1 (0 üye ve 1 misafir)
 
Seçenekler
Yetkileriniz
Konu Acma Yetkiniz Yok Cevap Yazma Yetkiniz Yok Eklenti Yükleme Yetkiniz Yok Mesajınızı Değiştirme Yetkiniz Yok
BB code is Açık Smileler Açık [IMG] Kodları Açık HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Forum Kuralları
Benzer Konular
Konu Konuyu Başlatan Forum Cevap Son Mesaj
Mysqli Mi Pdo Mu ? RooTsGhosT PHP 5 1.02.2012 15:26
Mysqli başka hosta nasıl taşırım? Gece Yolcusu Veritabanları 0 9.01.2012 18:25
Windows'da mysqli komut istemi'nden yüklemek atay Veritabanları 3 9.11.2007 04:52

Forum Saati: 09:23. Zaman dilimi GMT +3 olarak ayarlanmıştır.
Powered by vBulletin™ Version 3.8.7
Copyright © 2017 vBulletin Solutions, Inc. All rights reserved.