Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

[PHP] PDO dblib vrací jiné výsledky než SQL server managment?

bingoplayer
verified
rating uzivatele
6. 8. 2018 22:30:53
Už 2-3 hodinu si lámu hlavu s pro mě nepochopitelným problémem.
Používám knihovnu PDO s driverem dblib pro spojení s Ms Sql databází. Snažím se pomocí SQL dotazu vytáhnout data z db.
SQL dotaz má tuto strukturu:
Když zadám SQL dotaz do SQL server managment, tak se mi vrátí správný výpis dat. Pokud dotaz pošlu přes PHP PDO, tak hodnota 'data' je VŽDY null. Data ze sloupců a.id, a.test jsou v pořádku.
Dotazy jsou úplně stejné, databáze taky, vše jsem ověřoval ale prostě pro sloupec data vrací PDO vždy NULL. Je možné, že PDO nedokáže pracovat s dotazem, který obsahuje "subdotaz" takového typu a jednoduše vyhodí NULL?
Budu moct vděčný za pomoct, protože jsem vyčerpal všechny nápady. Na googlu se mi nic podobného nepodařilo dohledat.
6. 8. 2018 22:30:53
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359741
skorozacatecnik
verified
rating uzivatele
6. 8. 2018 23:50:00
Nevidim moc duvod, proc by to SQL nemelo fungovat (pokud pro kazde a.id existuje alespon jeden b.id, ktery ma zaroven dekadickou hodnotu v b.pocet).
Co uvazuju obecne, tak kdyz subselect vraci vice vysledku nez jeden, pak je mozne, ze v data budou NULL. To se da otestovat LIMITem v subselectu.
Pokud toto vrati neNULLovou hodnotu v data, pak puvodni subselect bez limitu vraci vice vysledku, ktere driver konvertuje na NULL.
Pripadne bych zkusil do subselectu pridat podminku b.pocet > 0 nebo b.pocet IS NOT NULL pro vyloceni neplatnych hodnot.
Hodne zdaru, obcas je to magie :)
6. 8. 2018 23:50:00
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359740
bingoplayer
verified
rating uzivatele
7. 8. 2018 00:02:47
Subdotaz vrací pouze jednu hodnotu, takže v tom problém nebude.
Já prostě nechápu, jak můžu zadat stejný SQL dotaz se stejnými hodnotami do SQL MS a vyjede mi jiný výsledek pro sloupec data než když data vypíšu přes PDO.
7. 8. 2018 00:02:47
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359739
skorozacatecnik
verified
rating uzivatele
7. 8. 2018 00:40:51
Napsal bingoplayer;1478361
Subdotaz vrací pouze jednu hodnotu, takže v tom problém nebude.
Já prostě nechápu, jak můžu zadat stejný SQL dotaz se stejnými hodnotami do SQL MS a vyjede mi jiný výsledek pro sloupec data než když data vypíšu přes PDO.
PS: Koukam... dobra volba :) na stackoverflow se s tim snad nekdo setkal a poradi vic:
PHP PDO dblib return another result than SQL server managment? is it possible?…
7. 8. 2018 00:40:51
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359738
node
verified
rating uzivatele
(5 hodnocení)
7. 8. 2018 07:21:59
Jedine co ma napada je to ze MS je znamy svojimi ne-sandardnostami v naprosto kazdom standarde ktory implementoje, takze je mozne ze priamy dopyt ti spracuje v pohode ale cez pdo vrstvu sa strati nejaka informacia kvoli nestandardnej strukture? Eventuelne problem vo verziach a kompatibilite?
7. 8. 2018 07:21:59
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359737
bingoplayer
verified
rating uzivatele
7. 8. 2018 07:43:52
Bohužel se zdá, že se PDO opravdu vypisuje data špatně při "subdotazu".
Vyzkoušel jsem SQL server managment, HeidiSql a nakonec i PHP sqlsrv a všechny zobrazují pro dotaz stejné (správné) data. Pouze PDO dblib zobrazuje ve sloupci data hodnotu NULL (se stejným dotazem).
7. 8. 2018 07:43:52
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359736
node
verified
rating uzivatele
(5 hodnocení)
7. 8. 2018 09:59:39
Getting Started with the Microsoft Drivers for PHP for SQL Server | Microsoft…
7. 8. 2018 09:59:39
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359735
Dej sem i na SO minimální příklad - export db a php kód
7. 8. 2018 10:25:46
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359734
David Musil
verified
rating uzivatele
(68 hodnocení)
7. 8. 2018 10:45:00
Me to taky zajima. Muzes nekam nahrat kus kodu?
7. 8. 2018 10:45:00
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359733
vlnk
verified
rating uzivatele
(4 hodnocení)
7. 8. 2018 11:07:41
id v tabulkaa bude mít v tabulkab asi jiné jméno než id?...
7. 8. 2018 11:07:41
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359732
martinzsa
verified
rating uzivatele
(1 hodnocení)
7. 8. 2018 11:42:46
a preco vobec pouzivas subselect ?
7. 8. 2018 11:42:46
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359731
bingoplayer
verified
rating uzivatele
7. 8. 2018 12:45:40
Tento SQL dotaz jsem uvedl pouze jako ukázku, abych mohl problém popsat. Originální dotaz má join do cca 7 tabulek, takže by bez znalosti databáze a jejich tabulek nedával smysl (proto jsem zde ani nesdílel data z databáze).
7. 8. 2018 12:45:40
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359730
Ing. Vlastimil Pospíchal
verified
rating uzivatele
1. 10. 2018 14:53:50
Podle mne by to však mělo vypadat takhle:
1. 10. 2018 14:53:50
https://webtrh.cz/diskuse/php-pdo-dblib-vraci-jine-vysledky-nez-sql-server-managment/#reply1359729
Pro odpověď se přihlašte.
Přihlásit