Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jan Poláček
Tvůrce
Avatar
Jan Poláček:11.11.2015 13:27

Zdravím, stále ještě dělám vše bez MVC a OOP, ale strašně jsem si zvykl na místní PDO wraper Db.php, který používám všude, protože je fakt skvělej. Nyní mám takovej další menší kšeftík, ale mám omezené možnosti v přístupu, pouze FTP a jedna DB.
Problémem je, že již inicializace a samotný connect se nepovede s hláškou: Fatal error: Undefined class constant 'PDO::MYSQL_AT­TR_INIT_COMMAN­D' in .../Db.php on line 46
Zkusil jsem ještě PDO::getAvaila­bleDrivers(), kde výstupem je pole s jednou položkou [0] => sqlite
V admineru mám: Verze MySQL: 5.5.46-0+deb7u1 přes PHP rozšíření MySQLi
PHPinfo() je zakázané.
Ač mi to moc není jasné, tak můj názor je, že databázi mám v MySQL, ale PDO v tuto chvíli umí pracovat pouze s SQLite.
Dá se s tím něco udělat nebo budu muset žadonit u správce?

Díky

Odpovědět
11.11.2015 13:27
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
Avatar
Odpovídá na Jan Poláček
Matúš Petrofčík:11.11.2015 13:41

No vyzerá to, že PDO vie len sqlite. Ja by som sa obrátil na správcu, prípadne navrhol zadávateľovi zmenu hostingu :)

Ešte ma napadla možnosť použiť mysqli funkcie, alebo si rovno napísať nový wrapper, ktorý by sa navonok správal ako tunajší, ale vo vnútri by bolo mysqli namiesto PDO :D

Nahoru Odpovědět
11.11.2015 13:41
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Michal Žůrek - misaz:11.11.2015 16:02

a není jednodušší vyhodit jen ten MySQL attribute? Prostě ten init příkaz zavoláš ručně.

 
Nahoru Odpovědět
11.11.2015 16:02
Avatar
Odpovídá na Michal Žůrek - misaz
Matúš Petrofčík:11.11.2015 16:17

Zdá sa že nečítaš poriadne.

Zkusil jsem ještě PDO::getAvaila­bleDrivers(), kde výstupem je pole s jednou položkou [0] => sqlite

U mňa sú pekne všetky tri, prikladám obrázok.

Nahoru Odpovědět
11.11.2015 16:17
obsah kocky = r^2 ... a preto vlak drnká
Avatar
TomasGlawaty
Člen
Avatar
Odpovídá na Jan Poláček
TomasGlawaty:11.11.2015 16:32

Změna hostingu, nebo pracuj s SQLite :)

 
Nahoru Odpovědět
11.11.2015 16:32
Avatar
Odpovídá na Matúš Petrofčík
Michal Žůrek - misaz:11.11.2015 16:40

a co? Nemusí používat MySQL. Chybu mu to píše, když se pokouší nastavit MySQL attribute, který po vytvoření spojení zašle příkaz <hodnota toho příkazu>, takže řešením je vyhodit ten attribut a po navázání spojení ten příkaz zaslat "ručně".

 
Nahoru Odpovědět
11.11.2015 16:40
Avatar
Michal Žůrek - misaz:11.11.2015 16:43

ale ještě musí opravit connection string z mysql na sqlite

 
Nahoru Odpovědět
11.11.2015 16:43
Avatar
Odpovídá na Michal Žůrek - misaz
Matúš Petrofčík:11.11.2015 17:12

Ak mu PDO::getAvaila­bleDrivers() vracia len SQLite, tak to PDO vie pracovať len s SQLite. PDO s MySQL mu teda nepôjde aj keby sa na hlavu postavil.

To že mu píše chybu u PDO::MYSQL_AT­TR_INIT_COMMAND má súvis práve s neprítomnosťou ovládača pre MySQL, a daná konštanta neexistuje. A prečo mu píše chybu u tejto konštanty a nie u vytváraní inštancie (vytvorení spojenia)? Pretože pred tým sa hľadá práve tá konštanta (ktorá neexistuje), program skončí už tam, a k pripojeniu sa ani nedostane.

Verím že ak ten riadok dá preč, tak mu skript napíše chybu pri pripojení.

Nahoru Odpovědět
11.11.2015 17:12
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Odpovídá na Michal Žůrek - misaz
Matúš Petrofčík:11.11.2015 17:13

Mám pocit že by chcel pracovať s MySQL, nie SQLite :)

Nahoru Odpovědět
11.11.2015 17:13
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Odpovídá na Matúš Petrofčík
Michal Žůrek - misaz:11.11.2015 17:14

ale to já vím. Nicméně nevím proč by měl měnit hosting, když jednoduše může místo MySQL použít SQLite. Což by měla být jen víceméně otázka přepsání toho vytváření připojení.

 
Nahoru Odpovědět
11.11.2015 17:14
Avatar
Odpovídá na Michal Žůrek - misaz
Matúš Petrofčík:11.11.2015 17:18

Teraz si niesom istý či vieš aký je rozdiel medzi MySQL a SQLite. :D Ty mu teda radíš aby nepoužíval MySQL server, ale aby požíval SQLite databázu v súbore? Alebo som sa niekde zmýlil ja?

The SQLite library reads and writes directly to and from the database files on disk.

Nahoru Odpovědět
11.11.2015 17:18
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Odpovídá na Matúš Petrofčík
Michal Žůrek - misaz:11.11.2015 17:20

myslím, že v době SSD to už takový problém až zas tak není.

 
Nahoru Odpovědět
11.11.2015 17:20
Avatar
Odpovídá na Michal Žůrek - misaz
Matúš Petrofčík:11.11.2015 17:24

Chápem čo tým myslíš :) Ja si ale myslím že MySQL ako samostatný databázový server nezávisle na úložsku má výhodu oproti SQLite. Na malé jednoduché aplikácie to ale nie je zlé.

Ktovie či ten jeho hosting má SSDčka :) ak by mne niekto zakazoval php_info() a aby PDO nevedel MySQL a PostgreSQL, tak by som okamžite menil.

Nahoru Odpovědět
11.11.2015 17:24
obsah kocky = r^2 ... a preto vlak drnká
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.