Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

PHP ile SQL Server Bağlantısında Sorun

Konu, 'PHP' kısmında cenkkoray tarafından paylaşıldı.

  1. cenkkoray

    cenkkoray Üye

    Kayıt:
    3 Şubat 2008
    Mesajlar:
    124
    Beğenilen Mesajlar:
    0
    Arkadaşlar merhaba, uzun yıllardır kullanmakta olduğum ASP yi PHP için terkediyorum fakat daha başlangıçta beni deli etti :)

    basit bir soru muhtemelen biliyorsunuzdur çoğunuz.

    Makineme PHP MYSQL kurdum ikisi beraber canavar gibi çalışıyor sorun yok her türlü şeyi yapabiliyorum fakat ASP için SQL server da kurulu makinemde. PHP de bağlantı kodunu yazdığım zaman hata alıyorum SQL database e bir türlü bağlanamadım. Acaba mysql ile sql server çakışıyor mu ?

    Kullandığım bağlantı kodu şu ;

    Kod:
    <?php 
    $baglan = mysql_connect("cnkpc","sa","sa1234"); 
    if (!$baglan) 
    { 
    die("Baglanti Hatasi"); 
    } 
    mysql_select_db("TESTDB", $baglan); 
    ?> 
    
    Aldığım hata da şu ;


    Warning: mysql_connect() [function.mysql-connect]: [2002] No connection could be made because the target machine actively refused it. (trying to connect via tcp://cnkpc:3306) inD:\dosya\connection.php on line 2

    Warning: mysql_connect() [function.mysql-connect]: No connection could be made because the target machine actively refused it. in D:\dosya\connection.php on line 2
    Baglanti Hatasi
     
  2. Romansanta

    Romansanta Daimi Üye

    Kayıt:
    3 Mart 2010
    Mesajlar:
    1,424
    Beğenilen Mesajlar:
    0
    Meslek:
    Amele
    Şehir:
    1903'den
    $baglan = mysql_connect("cnkpc","sa","sa1234");
    if (!$baglan)
    {
    die("Baglanti Hatasi");
    }
    mysql_select_db("TESTDB", $baglan);
     
  3. cenkkoray

    cenkkoray Üye

    Kayıt:
    3 Şubat 2008
    Mesajlar:
    124
    Beğenilen Mesajlar:
    0


    benim kodumdan farklı olan ne anlayamadım zaten bu da çalışmıyor.
     
  4. Romansanta

    Romansanta Daimi Üye

    Kayıt:
    3 Mart 2010
    Mesajlar:
    1,424
    Beğenilen Mesajlar:
    0
    Meslek:
    Amele
    Şehir:
    1903'den
    mssql'e mysql kütüphanesi ile bağlanmaya çalışmanız olabilirmi?
     
  5. cenkkoray

    cenkkoray Üye

    Kayıt:
    3 Şubat 2008
    Mesajlar:
    124
    Beğenilen Mesajlar:
    0
    Y yerine S yazmam gerektiğini mi söylüyorsun dedim ya PHP de yeniyim, biraz daha açıklar mısın ? ;

    mysql yerine mssql yazdım fakat bu sefer de şu hatayı aldım;

    Fatal error: Call to undefined function mssql_connect() in D:\dosya\connection.php on line 2
     
  6. che

    che Daimi Üye

    Kayıt:
    23 Ocak 2007
    Mesajlar:
    615
    Beğenilen Mesajlar:
    0
  7. cenkkoray

    cenkkoray Üye

    Kayıt:
    3 Şubat 2008
    Mesajlar:
    124
    Beğenilen Mesajlar:
    0
    dostum sağol deneyeceğim şimdi ; az önce php_mssql.dll dosyasını internetten indirip php de EXT klasörüne attım. php.ini nin içerisinden ; noktalı virgülü kaldırıp bu DLL nin aktif olmasını sağladım servisleri falan kapatıp actım ama bir sey degısmedı sımdı senın dedıgın yontemı uygulayacagım :)
     
  8. cenkkoray

    cenkkoray Üye

    Kayıt:
    3 Şubat 2008
    Mesajlar:
    124
    Beğenilen Mesajlar:
    0

    kardeş selam,

    Gerekli PDO DLL lerini indirdim ve PHP nin bulunduğu klasörde EXT klasörüne attım. Ve php.ini dosyasını açıp indirdiğim DLL leri listeye eklledim ;

    extension=php_pdo_sqlsrv_52_nts_vc6.dll
    extension=php_pdo_sqlsrv_52_ts_vc6.dll
    extension=php_pdo_sqlsrv_53_nts_vc6.dll
    extension=php_pdo_sqlsrv_53_nts_vc9.dll
    extension=php_pdo_sqlsrv_53_ts_vc6.dll
    extension=php_pdo_sqlsrv_53_ts_vc9.dll
    extension=php_sqlsrv_52_nts_vc6.dll
    extension=php_sqlsrv_52_ts_vc6.dll
    extension=php_sqlsrv_53_nts_vc6.dll
    extension=php_sqlsrv_53_nts_vc9.dll
    extension=php_sqlsrv_53_ts_vc6.dll
    extension=php_sqlsrv_53_ts_vc9.dll

    Fakat yine aynı hatayı alıyorum saçma sapan hatalar verıyor. Bu arada PHP olarak EasyPHP 5.3.8.1 versiyonu yüklü. kafayı yicem arkadaş
     
  9. che

    che Daimi Üye

    Kayıt:
    23 Ocak 2007
    Mesajlar:
    615
    Beğenilen Mesajlar:
    0
    O DLL dosyların hepsini kullanmıyorsun, O DLL dosyarından bazıları IIS içindir, bazılarıda apache içindir. vc9 ve vc6 olanlar senin PHP nin hangi Visula C sürümü ile derlendiğini ve tns olanlarda IIS içindir.
    Öztle, VC9 NTS olanlar IIS sunucusu içindir. Microsoft
    Bu durumda sadece php_pdo_sqlsrv_53_ts_vc6.dll kullanacaksın.
     
  10. ciksgurkan

    ciksgurkan Üye

    Kayıt:
    5 Eylül 2011
    Mesajlar:
    107
    Beğenilen Mesajlar:
    0
    Apache üzerinde neden sqlsrv kullanıyorsunuz, daha uyumlu veritabanları var (mysql, postgresql...) Aktarım vb uygulamar için zoraki bir sql server bağlantısına ihtiyacınız var ise odbc kullanarak bu işlemleri yapmanızı öneririm.
     
  11. cahoo

    cahoo Üye

    Kayıt:
    3 Ocak 2012
    Mesajlar:
    246
    Beğenilen Mesajlar:
    0
    Meslek:
    bilgisayar programcılığı
    Şehir:
    Tekirdağ
    Bazen PHP ile SQL server üzerinde işlem yapabilmek için bazı ayarlamalar yapmak gerekebiliyor. PHP ile SQL server kullanmanın bir kaç farklı yolu bulunmakta mesela ODBC ile bağlanabilirsiniz. Fakat en kolay bağlantı şekli "mssql_connect()" fonksiyonu kullanılarak oluşturulan bağlantılardır. PHP yi kurduğunuzda büyük ihtimalle mssql_connect() kütüphanesi php ye yüklenmemişti.

    PHP üzerinde mssql fonksiyonlarının aktif olup olmadığını görmek için ilk olarak boş bir php dosyasına şu kodu yazarak çalıştırın;

    [FONT=&amp] <?Php
    if(function_exists(mssql_connect)){
    echo "MSSQL Yapılandırılmış";
    }else{
    echo "MSSQL Yapılandırılmamış";
    }
    ?>

    Yukarıdaki fonksiyon size sisteminizde PHP için MSSQL yapılandırmasını olup olmadığını gösterecektir.

    Eğer yapılandırma yoksa aşağıdaki işlemleri adım adım uygulamanız yeterli.

    İlk olarak ntwdblib.dll ve php_mssql.dll dosyalarını bilgisayarınıza indirmeniz gerekli.

    1. Adım : ntwdblib.dll ve php_mssql.dll dosyalarını c:\Windows\System32 içerisine kopyalayın.
    2. Adım : Başlat > Çalıştır komutu ile komut istemcisi açılır ve "php.ini" komutu çalıştırılır.
    3. Adım : php.ini dosyası açılınca ;extension: php_mssql.dll satırı bulunur ve başındaki ";" işareti kaldırılır.
    4. Adım : Son olarak Apache servisi baştan başlatılarak php için mssql yapılandırması tamamlanmış olur.

    Bu adımları tamamladıktan sonra PHP için MSSQL yapılandırmasını tamalamış oluyorsunuz.
     
  12. cenkkoray

    cenkkoray Üye

    Kayıt:
    3 Şubat 2008
    Mesajlar:
    124
    Beğenilen Mesajlar:
    0
    dostum çok sağol ya ODBC PHP bağlantısı diye arattım google amca bir sürü sayfa çıkardı meğer ne kadar basitmiş ODBC ile. Mecburiyetten SQL kullanmak zorundayım bir yerde verilerim SQL servere aktarılıyor yoksa mysql kullanırdım.php nin bu tür kıl tüy sorunları sebebiyle yıllardır asp den vazgeçmedim ama bir yerden başlamak lazım artık :) CHE dostum çok sağolasın sende ellerine sağlık

    http://mfyz.com/dokuman/45/phpde-mssql-baglantisi-ve-kullanimi/ linkte anlatıyor

    $baglanti = odbc_connect('DRIVER={SQL Server};SERVER=host;DATABASE=veritabani','kadi',[COLOR=#38AD24][FONT=Monaco]'sifre'[COLOR=#3030EE][FONT=Monaco, mono, Lucida Console, Courier New, Courier]);


    [/COLOR][/FONT][/COLOR]
     
  13. cenkkoray

    cenkkoray Üye

    Kayıt:
    3 Şubat 2008
    Mesajlar:
    124
    Beğenilen Mesajlar:
    0
    by_cahoo dostum çok sağol ben ODBC ile yapmaya karar verdim ne extension ne bir şey hiç bir şey yüklemeden tek satır connection kodu ile bağlandım mssql servere. Senin söylediğin şekilde de denedim şimdi olmuşken böyle de olsun diye ama ekteki hataları aldım belki internetten indirdiğim dll lerde sorun vardır bilmiyorum ama ne yaptıysam görmedi php DLL dosyalarını ekteki hataları görebilirsin.
    Eki Görüntüle 11575
     
  14. PPuNisHeRR

    PPuNisHeRR Yeni Üye

    Kayıt:
    11 Kasım 2011
    Mesajlar:
    6
    Beğenilen Mesajlar:
    0
    arkadaşlar ben bir turlu yapamadım gitti