• 19-09-2020, 15:10:11
    #1
    Merhabalar,

    iOS ve Android için hazırlanmış olan ve PHP 5.6 kodlarıyla websitesinin API üzerinden erişim sağlanan uygulamam bulunmakta.

    Son 1 aydır sitenin PHP versiyonunu değiştirmeme rağmen uygulamam açılmamakta ve aşağıdaki kodları error.log dosyasında görmekteyim.

    PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /home/*/public_html/api/db.php:8
    
    .
    db.php 8. satırdaki kod ise şu şekilde

    $connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("Unable to Connect to '$dbhost'");
    
    .

    Biraz araştırma yaptığımda PHP 5.6'dan sonra mysql_connect ve bir çok kod yapısında değişiklik yapıldığını öğrendim. Ancak daha önceden çalışan uygulama neden bu şekilde hata vermeye ve çalışmamaya başlamıştır?

    Sitenin PHP versiyonunu 4.4, 5.6, 7.1, 7.2, 7.3, inherit olarak değiştirip denedim ve olmadığını gördüm.

    Durup dururken bozulmasının sebebi ve veritabanı bağlantısını sağlanamama sebebi nedir ?

    Not: "mysql_connect" kod satırını "mysqli_connect()" olarak değiştiriyorum fakat bu sefer diğer değişen kod satırlarında hatalar alınıyor. Tek seferde değişiklik yapmadan halledebileceğim bir çözüm arıyorum. Yada API'yı yeniden kodlatmak kalıyor.
  • 19-09-2020, 15:16:26
    #2
    Hocam 7.x sürümlerinde çok değişti, veritabanı işlemleri için mysqli veya PDO kullanmak durumundasınız. Visual Studio Code gibi editörlerde Files in Replace gibi bir özellik mevcut. Dosyaların içini tarayıp değiştirme işlemini yapıyor. Belki işinize yarar.
  • 19-09-2020, 15:18:28
    #3
    Mevcut kodu mysqli olarak düzenlemek gerekiyor. Sadece db.php içinde mysqli değiştirerek sorunu çözemezsiniz, tüm kod içersinde düzenleme gerekiyor. Çok büyük bir sorun değil. İşini bilen adam kolaylıkla halledecektir.
  • 19-09-2020, 15:43:59
    #4
    AlbaySIMSEK adlı üyeden alıntı: mesajı görüntüle
    Hocam 7.x sürümlerinde çok değişti, veritabanı işlemleri için mysqli veya PDO kullanmak durumundasınız. Visual Studio Code gibi editörlerde Files in Replace gibi bir özellik mevcut. Dosyaların içini tarayıp değiştirme işlemini yapıyor. Belki işinize yarar.
    Hangi kodları hangileriyle değiştireceğimi bilmiyorum.

    Bu konuyla ilgili yardımcı olurmusunuz ?
  • 19-09-2020, 15:48:21
    #5
    webveil adlı üyeden alıntı: mesajı görüntüle
    Hangi kodları hangileriyle değiştireceğimi bilmiyorum.

    Bu konuyla ilgili yardımcı olurmusunuz ?
    Merhaba,
    PM veya WhatsApp ile iletişime geçerseniz yardımcı olmaya çalışayım.

    İyi forumlar dilerim.
  • 19-09-2020, 18:09:33
    #6
    Eğer hosting kullanıyorsanız, tüm php versiyonları mysql desteği olmadan yeniden derlenmiş olabilir. Bu sebeple php'nin eski sürümlerinde mysql_* fonksiyonlarının hiç biri çalışmıyor muhtemelen. 5.6 ve sonrası yeni sürümlerde zaten çalışmaz. PDO kullanarak yeniden kodlamanızı öneririm.