ezSql – işlem yapılan son id yi öğrenmek

Posted by ismail şimşek | Posted in Php | Posted on 17-08-2010-05-2008

0

Merhaba millet.

Veritabanımıza yeni bir satır eklediğimizde sildiğimizde yada bir satırı güncellediğimizde ezSql bu satırların id lerini bizim için saklar. Örneğin yeni bir satır eklediniz ve bu eklediğiniz satırın id sini çekmeniz gerekiyor. Yani auto increment olan alandaki son girişi verecektir.

ezSql ile bu bilgiye şu şekilde ulaşıyoruz.

Öncelikle işlemimizi yapalım.

$db->query("insert intotablo_adi values('','birinci veri','ikinci veri...','üçüncü veri...')");
echo $db->insert_id;

Hepsi bu kadar. Bunu bulabilmek için 4-5 projemin tüm kodlarını ve google ı alt üst ettim :) Basit ama çabuk unutuluyor. Kolay gelsin.

Flash Builder – AmfPHP – ezSQL – Bölüm 1 – Veri Kaydı

Posted by ismail şimşek | Posted in Actionscript 3.0, Amfphp, Flash Builder, Php | Posted on 24-07-2010-05-2008

0

Merhabalar.

Bu yazımda AmfPHP ve ezSQL ile Flash Builder kullanarak nasıl daha rahat veri kaydedebileceğimizi göstereceğim.
Öncelikle gerekli dosyaları edinelim. ezSQL’i şu adresten indirelim. Bu benim Türkçe karakterler için düzeltme uyguladığım dosya. Bir önceki yazımda bahsetmiştim. Daha sonra amfphp yi şu adresten indirelim. Son olarak amfphp bağlantısını her seferinde yeniden yazmak beni sıktığı için kendi hazırladığım çok basit amfphp sınıfını indiriyoruz.

Şimdide Flash Builderda yeni bir proje açıp email ve şifre girişi yapılan bir form oluşturuyoruz.

<mx:Form>
    <mx:FormHeading label="Kullanıcı Girişi"/>
    <mx:FormItem label="E-Mail">
        <s:TextInput id="email"/>
    </mx:FormItem>
    <mx:FormItem label="Şifre">
        <s:TextInput id="sifre"
                     displayAsPassword="true"/>
    </mx:FormItem>
    <mx:FormItem>
        <s:Button click="onClick()"
                  label="Giriş Yap"/>
    </mx:FormItem>
</mx:Form>

Sınıfımızı import edip gerekli verileri gönderelim.

import com.ismail.amfphp.Connect;
import mx.controls.Alert;

public var amf:Connect;

public function init():void
{
    amf = new Connect();
    amf.setPaths("denemeClass.MainDenemeClass","http://localhost/amfphp/gateway.php");
}

public function onClick():void
{
    var obj:Object =  {email:email.text,sifre:sifre.text};
    amf.amfphp("kayitEkle",obj,kayitSonucu);
}

public function kayitSonucu (e:Object):void
{
    if(e.toString() == "1")
    {
        Alert.show("Kayit Başarılı.");
    }
    else
    {
        Alert.show("Başarısız.");
    }
}

amf.setPaths() fonksiyonu bizden iki tane veri bekliyor. Birinci veri amfphp nin gateway.php dosyasının yolu. Çünkü bunun üzerinden iletişim kuracak. Diğer veri ise bizim işlemleri yapacak olan php dosyamızın yolu. Bu şekilde yazmamın nedeni şu. Bu adres her veri isteğinde yazılmak zorunda. Biz bir kere verip kurtuluyoruz :D “denemeClass” services klasörü içindeki benim sınıfımın bulunduğu klasör “MainDenemeClass” ise php dosyamın adı.
Gelelim php dosyamıza. Onunda içeriği şu şekilde

<?php
include_once 'ez_sql_core.php';
include_once 'ez_sql_mysql.php';

class MainDenemeClass extends ezSQL_mysql
{
    function MainDenemeClass()
    {
        include_once 'db.php';
        $this->ezSQL_mysql ( DB_USER, DB_PASS, DB_NAME, DB_HOST );
    }

    function kayitEkle($gelenVeri)
    {
        extract($gelenVeri);

        $qq = $this->query("insert into uyeler values('','$email','$sifre')");
        if($qq)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
}

Sonunda ?> yok farkettiyseniz. Gerekte yok. Bazen sorun çıkartabiliyor o yüzden koymuyorum. Burada yine aynı sırayla dosyalarımızı import ediyoruz ve sınıfımızı ezSQL_mysql ile extend ediyoruz.
Flash Builder içinden çağırdığımız kayitEkle fonksiyonu bir adet veri kabul ediyor. Bunu fonksiyon içinde extract() ile parçalıyoruz. Bu sayede her gelen veri düzgün bir şekilde ayrıştırılmış oluyor.
İşlemleri yapıp geriye istediğimiz veriyi döndürüyoruz.

ezSQL ile Türkçe karakter sorunu nasıl aşılır?

Posted by ismail şimşek | Posted in Php | Posted on 24-07-2010-05-2008

1

Merhaba arkadaşlar.

Uzun zaman önce tanıştığım ezSQL sayesinde pek çok işimi kolayca hallettim. Sunduğu imkanlar ve wordpress in altyapısını oluşturması benim kullanma isteğimi arttırmıştı. Öncelikle internette küçük bir araştırma yaptım. İngilizceniz varsa kendi dökümantasyonu herşeyi güzelce açıklıyor. Ama eğer türkçe kaynak isterseniz Yakuter‘in ve Yakup Gövler‘in blog sayfasına  göz atabilirsiniz.

http://www.yakuter.com/ezsql-veritabani-sinifinin-kullanimi/

http://www.yakupgovler.com/ezsql-veritabani-sinifi.html/2

Ben bunları okuyup irdeleyip kendime uygun bir yapı çıkarttım. Herkesin başına gelmiştir. Php mysql ve türkçe karakter sorunu. Bu ezSQL ile de başıma geldi. O yüzden internette araştırdım ve şöyle bir sonuca ulaştım.

Öncelikle ezSQL’i buradan indirip içinden mysql klasöründeki ez_sql_mysql.php ve shared klasöründeki ez_sql_core.php dosyalarını alıyoruz ve yeni kendi proje dizinimize aktarıyoruz.

Veritabanınızı oluştururken utf8 olarak oluşturun. Veritabanı bağlantısı yaptıktan sonra ise şu kodları yazın.

mysql_query ( "SET NAMES 'utf8'" );
mysql_query ( "SET CHARACTER SET utf8" );
mysql_query ( "SET COLLATION_CONNECTION = 'utf8_turkish_ci'" );

Bunu ezSQL ile otomatik hale getirmek için sql_for_tr.php isimli bir dosya oluşturup bunları içine yazdım. Burada dikkat edilecek nokta şudur. Dosyaların karakter kodlamaları aynı olmalı. Yani dosya ansi ile kodlanmışsa bütün dosyalar ansi olmalı. Tavsiyem ezSQL ve bu dosya için ansi kullanmanız.

Bunlara ek olarak birde db.php isimli bir dosyam var burada host,kullanıcı adı,şifre ve veritabanı adı gibi bağlantıda gerekli olan bilgileri tutuyorum. Onlarda şu şekildeler:

define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PASS','');
define('DB_NAME','denemeler');

Şimdi bunları nasıl kullanacağız kısmına gelelim. Yeni bir php dosyası oluşturup aşağıdaki kodları sırasıyla yazalım:

include 'db.php';
include 'ez_sql_core.php';
include 'ez_sql_mysql.php';

$db = new ezSQL_mysql ( DB_USER, DB_PASS, DB_NAME, DB_HOST );

Öncelikle db dosyasını çağırdık. Sonra ezSQL dosyalarını çağırdık. Ve bağlantımızı kurduk. Dikkat ettiyseniz sql_for_tr.php doyasını çağırmadık. Bunu bizim için ezSQL kendisi yaptı. ez_sql_mysql.php dosaysının 131. satırına aşağıdaki kodu ekliyoruz.

include 'sql_for_tr.php';

Bu sınıf içinde bağlantı kurulduktan hemen sonra sql_for_tr. dosyasınındaki kodların çalışmasını sağlıyor.

Böylelikle hem veritabanına türkçe karakter kaydedebileceğiz hem de türkçe karakterleri sayfamızda sorunsuzca gösterebileceğiz. Dikkat edilecek bir diğer husus ise şu sayfamızın karakter kodlamasının utf8 olması karakter setinin utf8 olarak ayarlanması. Bunlarda tamamsa sorunsuzca kodlamaya geçebilirsiniz demektir.

Dosyalara şuradan erişebilirsiniz.

Sorularınızı sormaktan çekinmeyin. İyi çalışmalar.

Flash Builder 4 ve Amfphp

Posted by ismail şimşek | Posted in Amfphp, Flash Builder | Posted on 11-04-2010-05-2008

0

Merhaba arkadaşlar. Bu yazımda size geçtiğimiz günlerde çıkan Flash Builder 4 ile AmfPHP ilişkisini anlatacağım. Daha önce Flex Builder ile anlatmıştım aynı konuyu ama şimdi ona bakınca ne kadar çok uğraşmışım diye kendime gülüyorum. Read the rest of this entry »