try { $pdo= new PDO('odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin' /* . array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")*/); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { }
I w tym momencie wszystko jest OK, problem pojawia się podczas pobierania danych z Accessa. Zapytanie wykonuję w taki sposób:
;
$query=$baza->prepare('SELECT * FROM [znaki] ' ); $query->execute(); $wynik=$query->fetch(PDO::FETCH_ASSOC)
I w tym momencie pojawia się spory problem, zapytanie powinno zwrócić ok 150 rekordów, a dostaję tylko jeden. Próbowałem kilku wariantów ale skutek jest taki sam, może spotkał się ktoś z takim problemem bo ja już nie mam pojęcia co to może być. Może jest jakiś alternatywny sposób na wyciągnięcie danych z accessa?
Drugi problem to polskie znaki w nazwie tabeli podczas wykonywania zapytania
$query=$baza->prepare('SELECT * FROM [Ilość cięć] ' );
Dostaję błąd
Kod
PDOException: SQLSTATE[42S02]: Base table or view not found: -1305 [Microsoft][Sterownik ODBC Microsoft Access ] Aparat bazy danych Microsoft Jet nie może znale� tabeli wej�iowej lub kwerendy 'IloĹ��ciÄ��. Sprawd� czy ona istnieje oraz czy nazwa jest poprawnie napisana. (SQLExecute[-1305] at ext\pdo_odbc\odbc_stmt.c:254)
Czyli problem jest z kodowaniem, plik ma kodowanie utf-8. Z jakiego kodowania korzystać?