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.
PDO & MySQL "Could not find driver"
6
●138
- 20-01-2023, 08:31:56"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:33MySimS3k adlı üyeden alıntı: mesajı görüntüle
- 20-01-2023, 10:06:24Kodlarınızı eklerseniz yardımcı olabiliriz.
- 28-01-2023, 10:29:31"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:06alit adlı üyeden alıntı: mesajı görüntüle
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:58AKSOYOGLU adlı üyeden alıntı: mesajı görüntüle
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.