• 20-01-2023, 08:04:32
    #1
    PHP PDO ile MySQL veri tabanına bağlantı bilgilerini bir diziden çekerek bağlanmak istiyorum. Fakat aşağıdaki hatayı alıyorum. (Bağlantı bilgilerini bir diziden çekmediğimde sorunsuz bağlanmaktadır.)

    "Could not find driver"

    Google üzerinden ilgili sorunu aradığımda php.ini dosyası üzerinden ";extension=pdo_mysql" gibi bazı extension alanlarındaki ";" işaretini kaldırarak aktif ediyor ve sistemi yeniden başlattıktan sonra sorun çözülüyor. Bende bir türlü düzelmedi. Neyi eksik yapıyor olabilirim?

    Bazı Youtube kanallarında da bağlantı sayfasında "db_driver" tanımlaması yapılarak sorunu çözüyorlar. Bu tam olarak nedir, ne işe yarar, nasıl yapılır?

    Şimdiden teşekkür ederim.
  • 20-01-2023, 08:31:56
    #2
    "Could not find driver" hatası, genellikle PHP sisteminizde PDO MySQL sürücüsünün yüklü veya etkin olmadığından kaynaklanmaktadır. PDO MySQL sürücüsünün kurulu olup olmadığını kontrol edin.
  • 20-01-2023, 09:10:33
    #3
    MySimS3k adlı üyeden alıntı: mesajı görüntüle
    "Could not find driver" hatası, genellikle PHP sisteminizde PDO MySQL sürücüsünün yüklü veya etkin olmadığından kaynaklanmaktadır. PDO MySQL sürücüsünün kurulu olup olmadığını kontrol edin.
    Teşekkür ederim, PDO MYSQL sürücüsünün kurulu olup olmadığını nasıl kontrol edebilirim. Bu arada sorun yalnızca localhost üzerinde değil, kullandığım web hosting üzerinde de gerçekleşiyor.
  • 28-01-2023, 10:29:31
    #5
    "Could not find driver" hatası, PDO'nun MySQL sürücüsünü bulamadığını gösterir. Bu, php.ini dosyasındaki "extension=pdo_mysql" satırının aktif olmadığı anlamına gelebilir. Bu satırın başındaki ";" işaretini kaldırarak aktifleştirmeniz gerekir.

    Aynı hatayı alıyorsanız, MySQL sürücüsünün sisteminizde yüklü olup olmadığını kontrol etmelisiniz. MySQL sürücüsü yüklü değilse, sisteminizde PHP'nin MySQL sürücüsünü yüklemeniz gerekir.

    Bağlantı sayfasında "db_driver" tanımlaması yapmak, PDO'ya hangi veritabanı sürücüsünü kullanacağını söyler. Örneğin, "db_driver" değeri "mysql" olarak tanımlanırsa, PDO MySQL sürücüsünü kullanacaktır. Bu tanımlamayı, bağlantı bilgilerinizi içeren bağlantı dosyanızda yapabilirsiniz. Örnek bir kod:

    $db_driver = "mysql";
    $dsn = "$db_driver:host=$host;dbname=$dbname";
    $pdo = new PDO($dsn, $username, $password);

    Bu şekilde, PDO MySQL sürücüsünü kullanacak ve sisteminizde yüklü olması durumunda bağlantınızı gerçekleştirecektir.
  • 29-01-2023, 06:02:06
    #6
    alit adlı üyeden alıntı: mesajı görüntüle
    "Could not find driver" hatası, PDO'nun MySQL sürücüsünü bulamadığını gösterir. Bu, php.ini dosyasındaki "extension=pdo_mysql" satırının aktif olmadığı anlamına gelebilir. Bu satırın başındaki ";" işaretini kaldırarak aktifleştirmeniz gerekir.

    Aynı hatayı alıyorsanız, MySQL sürücüsünün sisteminizde yüklü olup olmadığını kontrol etmelisiniz. MySQL sürücüsü yüklü değilse, sisteminizde PHP'nin MySQL sürücüsünü yüklemeniz gerekir.

    Bağlantı sayfasında "db_driver" tanımlaması yapmak, PDO'ya hangi veritabanı sürücüsünü kullanacağını söyler. Örneğin, "db_driver" değeri "mysql" olarak tanımlanırsa, PDO MySQL sürücüsünü kullanacaktır. Bu tanımlamayı, bağlantı bilgilerinizi içeren bağlantı dosyanızda yapabilirsiniz. Örnek bir kod:

    $db_driver = "mysql";
    $dsn = "$db_driver:host=$host;dbname=$dbname";
    $pdo = new PDO($dsn, $username, $password);

    Bu şekilde, PDO MySQL sürücüsünü kullanacak ve sisteminizde yüklü olması durumunda bağlantınızı gerçekleştirecektir.
    Açıklamanız için teşekkür ederim. Uzun bir süredir "PDO ve MySQL Driver" nedir anlamaya çalışıyordum. Açıklamanıza bakacak olursam, aşağıda bağlantı için yazılan kod bölümünde kalın olarak işaretlediğim yer veri tabanı sürücüsünü temsil ediyor. PDO için sanıyorum "mysql" kullanılıyor ancak bazı forumlarda PDO bağlantı türünde de aşağıda kalın olarak belirttiğim bölümü "mysqli" olarak kullanıyorlar. Bildiğim kadarıyla mysqli ve PDO farklı bağlantı türleri PDO içinde mysqli kullanılabilir mi mysql eski versiyon olarak biliyorum, kullanılmasında bir sakınca var mı, PDO ile bağlanılsa bile driver bölümü mysqli mi olmalı?

    En basitinsen codeigniter kutuphanesinde de surucuyu mysqli olarak görüyorum. Mümkünse açıklayabilir misiniz?
    $dsn = "mysql:host=localhost;dbname=testdb";
  • 29-01-2023, 11:43:58
    #7
    AKSOYOGLU adlı üyeden alıntı: mesajı görüntüle
    Açıklamanız için teşekkür ederim. Uzun bir süredir "PDO ve MySQL Driver" nedir anlamaya çalışıyordum. Açıklamanıza bakacak olursam, aşağıda bağlantı için yazılan kod bölümünde kalın olarak işaretlediğim yer veri tabanı sürücüsünü temsil ediyor. PDO için sanıyorum "mysql" kullanılıyor ancak bazı forumlarda PDO bağlantı türünde de aşağıda kalın olarak belirttiğim bölümü "mysqli" olarak kullanıyorlar. Bildiğim kadarıyla mysqli ve PDO farklı bağlantı türleri PDO içinde mysqli kullanılabilir mi mysql eski versiyon olarak biliyorum, kullanılmasında bir sakınca var mı, PDO ile bağlanılsa bile driver bölümü mysqli mi olmalı?

    En basitinsen codeigniter kutuphanesinde de surucuyu mysqli olarak görüyorum. Mümkünse açıklayabilir misiniz?
    $dsn = "mysql:host=localhost;dbname=testdb";
    PDO (PHP Data Objects) ve MySQL Driver, PHP'de veritabanı erişimini sağlamak için kullanılan iki farklı yöntemdir. PDO, PHP'de veritabanı erişimini genel bir düzenleme olarak sağlar ve farklı veritabanı sistemleri için (MySQL, PostgreSQL, Oracle, vb.) farklı sürücüler kullanılabilir. Örnekte verilen kod parçacığında, "mysql" sürücüsü kullanılmaktadır ve veritabanının adı "testdb" olarak belirlenmiştir. "mysqli" sürücüsü de kullanılabilir ancak PDO ile kullanılması daha esnektir ve farklı veritabanı sistemleri için de kullanılabilir.

    CodeIgniter kütüphanesinde de MySQL sürücüsü olarak mysqli kullanılmaktadır. Özellikle yeni projelerde, PDO ve mysqli kullanılması daha güncel ve güvenli bir yöntemdir. Ancak eski projelerde mysql sürücüsü kullanılmış olabilir ve bu durumda mysql sürücüsünün kullanılmasına devam edebilirsiniz.
    Evet, mysqli ve PDO farklı bağlantı türleridir. Ancak, PDO ile mysqli sürücüsü kullanılarak veritabanına bağlanabilirsiniz. Bu, eski projelerde mysql sürücüsünü kullanmak yerine mysqli sürücüsünü kullanmanıza olanak tanır. Ayrıca PDO ile mysqli kullanmanın güncel ve güvenli bir yöntem olduğunu unutmayın.

    Eğer PDO kullanılıyorsa, driver bölümünde mysqli olmalıdır. Çünkü PDO ile mysqli kullanılıyorsa, bu bağlantı türünün mysqli olduğunu belirtir. Örnekte verilen kodlarda "mysql" sürücüsü kullanılmıştır. Ancak mysqli sürücüsü kullanmak isterseniz, "mysqli" yerine "mysqli" yazmanız gerekir.