"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";