Za darmo na e-mailPraktyczny kurs PHP (aż 200 stron!)

Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail

Obsługa bazy danych MariaDb przy pomocy PDO

Rozwiązane3.41K viewsMariaDB pdo php
0
0 Comments

Cześć,

usiłuję połączyć się z bazą MariaDB przy pomocy PDO. XAMPP i PHP 7.4.11. (Windows 10).

PHPInfo pokazuje, że są dostępne sterowniki do MS SQL i MySQL:

PDO drivers:
sqlsrv, mysql, sqlite

pdo_mysql Client API version
mysqlnd 7.4.11

Połączenie z SQL Server działa bez problemu, natomiast przy połączeniu z MySQL otrzymuję komunikat:  could not find driver

Konfiguracja php.ini:

extension_dir=”C:\PHP\xampp\php\ext”

sterowniki:

extension=php_pdo_sqlsrv.dll
extension=php_pdo_mysql.dll

Sterowniki są oczywiście na swoim miejscu,

plik php_pdo_mysql.dll z datą 2020-09-29 16:24, rozmiar 30kB. Identyczną datę ma plik php_pdo_sqlsrv.dll.

Kod PHP:

<?php
 $conStr='MySQL:host=localhost;dbname=Test';
$Użytkownik="root";
$Hasło="";
$Połączenie = new PDO($conStr, $Użytkownik, $Hasło);

Wszelka pomoc mile widziana 🙂

Pozdrawiam,

Marek

Question is closed for new answers.
Marcin Wesel Selected answer as best 30 grudnia 2020
Add a Comment
0
opaves (gość) 0 Komentarzy

Cześć,

problem rozwiązał się bardzo łatwo (przepraszam, że dopiero teraz o tym piszę). Otóż, w tzw. connection string zamiast “MySQL” powinno być “mysql”(MAŁYMI LITERAMI). Czyli:

$conStr='mysql:host=localhost;dbname=Test';

Wtedy wszystko działa bez problemu 🙂

Pozdrawiam, wszytkiego najlepszego w Nowym Roku 🙂

Marek

Marcin Wesel Selected answer as best 30 grudnia 2020
Add a Comment
0

Hej Opaves,

niestety, nie spotkałem się nigdy z tym błędem (pewnie dlatego, że dawno nie pisałem niczego lokalnie na Windowsie) ale z tego, co poszperałem w sieci, to problem pojawia się często.

Od czego zacząłbym, to:

  1. Zakomentował extension do sqlsrv i zostawił tylko mysql aktywny. Być może jest jakiś problem z obsługą więcej niż jednego rozszerzenia.
  2. Spróbował zainstalować np. EasyPHP zamiast XAMPPa i zobaczył, czy tam problem również występuje. Czytam właśnie, że czasami wersja Apache nie jest kompatybilna z konkretną wersją rozszerzenia PDO.
  3. Spróbował pobrać inną wersję pliku php_pdo_mysql.dll i podmienił w systemie.

Niestety, nie mam gotowego rozwiązania.

Marcin Wesel Answered question 15 grudnia 2020
Add a Comment
Ominiesz taką okazję?Praktyczny Kurs PHP (aż 200 stron!) za darmo

Gorąco polecam, naprawdę warto skorzystać! To nic nie kosztuje. Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail.