Autor Zpráva
Anonymní
Profil *
Zdravím,
nevím, jestli to tak je vždycky, nebo jsem tomu nikdy nevěnoval pozornost, ale jak je to s typy hodnot získaných z databáze (mysql)? Já např. ve svém skriptu vybírám z databáze hodnotu sloupce, který má nastaveno integer, ve skriptu je ale tato hodnota proměnné typem string.
koudi
Profil
V php nemůžeš datový typy brát zase tak moc vážně.
Anonymní
Profil *
Jo, jasně... Ale chtěl bych v tom mít aspoň ze svého pohledu pořádek, takže jak to tedy je? V PHP dělám už pár let, ale tohle jsem nikdy neřešil, zdá se mi, že předtím (nedávno jsem přeinstalovával server) měly proměnné s hodnotami získanými z db správné typy.
arcadosi
Profil
fanatik :)
Anonymní
Profil *
Jo, nejspíš to je nějaká schizofrenie, ale snažím se v php konstrolovat a v rámci možností dodržovat konvcence obvyklé v jiných programovacích jazycích.
jrm
Profil
Vyčti z dB do proměnné a pak se ptej na typ proměnné pomocí Is_Integer, Is_String, atd.
Anonymní
Profil *
No nějak se nemůžeme dopracovat k výsledku - samozřejmě, že já si načítám hodnoty z databáze, ale pak docházím k zjištění, že při přechodu z mysql do php dochází k přetypování všech hodnot na string. Jinak bych se tu neptal... Ptám se tedy ještě jednou a jinak - je to normální chování, že mysql přetypovává vše do stringu?
koudi
Profil
Ani tak ne mysql jako php :)
Anonymní
Profil *
Mohl by mi někdo konečně odpovědět, pokud odpověď zná? Nebo v mém dotazu nacházíte stále drobné nedostatky a budete je po mě nejdříve opravovat?

koudi
Ano, samozřejmě, že to je PHP, jenom jsem se přepsal...
Leo
Profil
"je to normální chování, že mysql přetypovává vše do stringu"

ten typ zjistujete v php, takze jde o php. v nem jsou prakticky vsechny vstupy (get, post atd.) retezce. a to nemluvim co vam php nacte pokud je v mysql hodnota null. L
Aesir
Profil
Anonymní:
je to normální chování, že mysql přetypovává vše do stringu?

Ano je to normální chování, databáze zná určité datové typy a prog. jazyk je nemusí ctít a naopak, proto tato konverze. A netýká se to pouze MySQL + PHP.
Anonymní
Profil *
Taková blbá otázka - ale proč tedy vrstva mezi PHP a MySQL zajišťující propojení nedodržuje typy, které jsou nadefinovány v MySQL? Copak je něco takového těžké implementovat?
ernesto
Profil *
protože si jí ještě nenapsal, experte
"V PHP dělám už pár let" - těžko tomu věřim
drze se ještě zeptam k čemu to vůbec potřebuješ? když máš navrženou databázi a lámeš z ní data tak si můžeš bejt jistej, že sou v ní ty datový typy, který sis tam nabrnkal. ještě sem neslyšel o tom, že by šlo do třeba [date] nacpat [varchar].

"snažím se v php konstrolovat a v rámci možností dodržovat konvcence obvyklé v jiných programovacích jazycích"
1. PHP je skriptovací, ne programovací jazyk
2. proč proboha?
Toto téma je uzamčeno. Odpověď nelze zaslat.

0