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ązaneodsłon: 2.95KMariaDB pdo php
0
Komentarzy: 0

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

Pytanie zamknięte na nowe odpowiedzi.
wybrał najlepszą odpowiedź
Dodaj komentarz
0
opaves (gość) 0 Comments

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

wybrał najlepszą odpowiedź
Dodaj komentarz
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.

odpowiedział na pytanie
Dodaj komentarz
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.