Avatar
Jan Poláček (johny881):

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
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Jan Poláček (johny881)
Matúš Petrofčík:

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  -1 11.11.2015 13:41
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Michal Žůrek (misaz):

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
Nesnáším {}, proto se jim vyhýbám.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Matúš Petrofčík:

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 (johny881)
TomasGlawaty:

Změna hostingu, nebo pracuj s SQLite :)

Nahoru Odpovědět 11.11.2015 16:32
Člověk může dosáhnout čeho si zamane. Jen musí chtít, případně něco obětovat ...
Avatar
Odpovídá na Matúš Petrofčík
Michal Žůrek (misaz):

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
Nesnáším {}, proto se jim vyhýbám.
Avatar
Michal Žůrek (misaz):

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

Nahoru Odpovědět 11.11.2015 16:43
Nesnáším {}, proto se jim vyhýbám.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Matúš Petrofčík:

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
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Matúš Petrofčík:

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):

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
Nesnáším {}, proto se jim vyhýbám.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Matúš Petrofčík:

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  +1 11.11.2015 17:18
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Odpovídá na Matúš Petrofčík
Michal Žůrek (misaz):

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

Nahoru Odpovědět 11.11.2015 17:20
Nesnáším {}, proto se jim vyhýbám.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Matúš Petrofčík:

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  +2 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.